OnClientClick javascript不渲染为asp禁用按钮
OnClientClick javascript does not rendered for asp disabled button
<asp:TemplateField HeaderText="Desc" ItemStyle-CssClass="btnDesc">
<ItemTemplate>
<asp:Button ID="btn_desc" runat="server"
Enabled="<%# ProcessDescButton() %>"
Text="<%# ProcessDescText() %>"
OnClientClick="ButtonDescAndNotesClick(this);return false;" />
</ItemTemplate>
<HeaderStyle Width="6%" HorizontalAlign="Center" />
<ItemStyle Width="6%" HorizontalAlign="Center" />
</asp:TemplateField>
当ProcessDescButton()方法返回FALSE时,此代码在客户端中渲染时不显示OnClientClick。它只显示OnClientClick如果ProcessDescButton()它返回TRUE!
我已经通过关于同一问题的不同帖子,并将asp:Button的启用属性替换为通用HTML属性"DISABLED"。这是有效的,但我需要根据ProcessDescButton()中实现的一些逻辑来启用和禁用按钮。
我不知道该写什么使按钮启用。如果从ProcessDescButton().
返回"disabled"
,则禁用工作
这个问题是由按钮类中的addattribu睾丸渲染行为引起的,与LinkButton不同。
当Enabled = False时,OnClientClick的值被有效地忽略,而不呈现给客户端。
一个选项是在文档中使用javascript禁用按钮。加载到客户端。
Page_PreRender(object sender, EventArgs e)
{
string script = @"document.getElementById('{0}').disabled = false;";
script = string.Format(script, btnTest.ClientID);
Page.ClientScript.RegisterStartupScript(GetType(), "btnTest_Disable", script, true);
}
如果你要做很多这样的事。我建议子类化Button并重写addatattributes来渲染以获得你想要的行为。
为什么不使用html输入按钮(如果你不需要POSTBACK)?
相关文章:
- 客户端和服务器端调用 asp 按钮的问题
- asp:按钮和javascript弹出窗口
- OnClientClick没有'无法使用asp按钮
- 添加JavaScript onClick以动态生成asp按钮
- 在asp按钮控件上运行C#和Javascript函数
- 为什么asp按钮的java脚本click()函数在chrome浏览器中不起作用
- 有没有可能的方法可以在一次ASP按钮单击中同时显示JavaScript和服务器端代码中的消息
- 如何使用asp按钮保存tinymce
- 如何在网格视图中查询asp按钮文本以查看是否有任何文本值
- ASP 按钮 ID 在 JavaScript 中找不到“findbyelementID”
- 如何使用 jquery 或 javascript 切换网格视图模板化的 asp 按钮文本
- 在 Javascript 的客户端提交时验证 asp 按钮
- 在单击 HTML 按钮时取消隐藏 ASP 按钮
- ASP:按钮的更新进度
- 如何将asp按钮添加到动态生成的控件中
- 使用ASP按钮调用VB方法,然后调用Javascript函数'单击'
- 使asp按钮拖放
- 当asp:按钮在手风琴窗格中时,无法显示DIV
- 如何在使用JQuery显示弹出窗口时防止在asp按钮上回发
- ASP页面窗体操作不允许ASP按钮单击启动