我有一个链接按钮:
<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>
Run Code Online (Sandbox Code Playgroud)
在后面的代码我添加一个像这样的onclick处理程序Page_Load:
LinkButtonPrint.Attributes["onclick"] = "StartLoadTracking(this, '" + GetLocalResourceObject("Loading") + "')";
Run Code Online (Sandbox Code Playgroud)
呈现的HTML如下所示:
<a href="javascript:__doPostBack('ctl00$LinkButtonPrint','')"
id="ctl00_LinkButtonPrint" onclick="StartLoadTracking(this, 'Loading...');">
<img alt="" src="img/print-icon.png">Print page
</a>
Run Code Online (Sandbox Code Playgroud)
如果我单击此按钮它正常工作(它将响应PFD文件,因此没有HTML发送回浏览器),但如果我点击页面上的另一个按钮(这使得完整的回发),LinkButtonPrint将没有内部内容,它将呈现如下:
<a href="javascript:__doPostBack('ctl00$LinkButtonPrint','')"
id="ctl00_LinkButtonPrint" onclick="StartLoadTracking(this, 'Loading...');"></a>
Run Code Online (Sandbox Code Playgroud)
如果我LinkButtonPrint.Attributes["onclick"] = ...从Page_Load一切工作中删除该行正常工作(除了我的js函数没有被调用,但这是正常的).
我在这里错过了什么?
编辑
这是重复的
asp.net链接按钮图像在回发后不可见
但是那个也没有解决:(
Ful*_*vio 30
此问题现在已为Microsoft所知,并且他们已发布Microsoft Connect问题718810上的官方声明和解决方法:LinkButton控制回发时丢失的集合.
微软的声明是:
感谢您的反馈.这似乎是一个奇怪的事实,LinkButton控件允许通过Text属性或标记中的直接文本内容,或通过Controls集合或标记的子控件.解决方法是使用占位符作为控件的根内容,并将所需的混合内容放在那里,例如
<asp:LinkButton runat="server">
<asp:PlaceHolder runat="server">
This is some text.</br>
<asp:Label runat="server">This is a control</asp:Label>
</asp:PlaceHolder>
</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
cte*_*kse 14
我找到了解决方案:
我必须添加runat="server"到<img>标签内<asp:LinkButton>:
<img src="img/print-icon.png" alt="" runat="server" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9206 次 |
| 最近记录: |