【发布时间】:2011-07-29 04:49:36
【问题描述】:
我有一个链接按钮:
<asp:LinkButton ID="LinkButtonPrint" runat="server" OnClick="OnPrint_Click">
<img src="img/print-icon.png" alt="" />
<asp:Literal runat="server" Text="<%$ Resources:PrintPage %>" />
</asp:LinkButton>
在后面的代码中,我在Page_Load 中添加了一个onclick 处理程序,如下所示:
LinkButtonPrint.Attributes["onclick"] = "StartLoadTracking(this, '" + GetLocalResourceObject("Loading") + "')";
渲染出来的 HTML 是这样的:
<a href="javascript:__doPostBack('ctl00$LinkButtonPrint','')"
id="ctl00_LinkButtonPrint" onclick="StartLoadTracking(this, 'Loading...');">
<img alt="" src="img/print-icon.png">Print page
</a>
如果我单击此按钮,它可以正常工作(它会以 PFD 文件响应,因此不会将 HTML 发送回浏览器),但如果我单击页面上的 另一个 按钮(这会使一个完整的回发)LinkButtonPrint 将没有内部内容,它将呈现如下:
<a href="javascript:__doPostBack('ctl00$LinkButtonPrint','')"
id="ctl00_LinkButtonPrint" onclick="StartLoadTracking(this, 'Loading...');"></a>
如果我从Page_Load 中删除LinkButtonPrint.Attributes["onclick"] = ... 行,一切正常(除了我的js 函数没有被调用,但这是正常的)。
我在这里错过了什么?
编辑
这是
asp.net Link button image not visible after postback
的副本
但是那个也没有解决:(
【问题讨论】:
-
这听起来像是一个 ViewState 问题。您可以尝试将
EnableViewState="false"添加到您的 LinkButton 并报告结果吗?