首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Response.Write和UpdatePanel

Response.Write和UpdatePanel
EN

Stack Overflow用户
提问于 2012-04-05 00:01:26
回答 4查看 24.6K关注 0票数 14

我生成了一张vcard,并使用以下代码片段将其发送给客户端:

代码语言:javascript
复制
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", fileNameOnly));
Response.ContentType = "text/x-vcard";
Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-1");
Response.Write(vCard.ToString());
Response.End();

但是,我需要在具有内部控件和UpdatePanel的页面上使用vCards。不幸的是,根据Update panel and Response write的说法,这不起作用并导致错误。我想知道有什么替代方法可以将电子名片/文件的内容发送到客户端浏览器,并使其显示不涉及Response.Write的“打开/保存”对话框?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-05 00:15:03

在异步回发期间不能使用Response.Write。无论执行什么控件,都需要将代码作为PostBackTrigger添加到更新面板中:

代码语言:javascript
复制
<Triggers>        
    <asp:PostBackTrigger ControlID="Button1" />
</Triggers>

如果您愿意,也可以在代码隐藏中执行此操作:

代码语言:javascript
复制
ScriptManager.GetCurrent().RegisterPostBackControl(Button1);
票数 39
EN

Stack Overflow用户

发布于 2012-04-05 02:49:30

。我的建议是删除更新面板,以防它仅用于VCard视点。

或者-在更新面板中放置一个控件,并在异步事件下初始化它的值。现在它可以工作了。

票数 1
EN

Stack Overflow用户

发布于 2012-09-26 18:09:01

您为什么不考虑使用单独的处理程序/页面来服务vcard?

这可能是最简单和干净的方式,而且它不会干扰任何其他与updatepanel相关的回发(异步或非同步)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10014920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档