Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OnClientClick javascript不会为asp禁用按钮呈现_Javascript_Asp.net_Onclientclick - Fatal编程技术网

OnClientClick javascript不会为asp禁用按钮呈现

OnClientClick javascript不会为asp禁用按钮呈现,javascript,asp.net,onclientclick,Javascript,Asp.net,Onclientclick,当ProcessDescButton方法返回FALSE时,在客户端中呈现的代码不会显示OnClientClick。仅当ProcessDescButton返回TRUE时才显示OnClientClick 我已经通过了关于同一问题的不同帖子,并将asp:Button的Enabled属性替换为GenericHTML属性DISABLED。这是可行的,但我需要根据ProcessDescButton中实现的一些逻辑来启用和禁用按钮 我不确定要写什么来启用按钮。如果我从ProcessDescButton返回di

当ProcessDescButton方法返回FALSE时,在客户端中呈现的代码不会显示OnClientClick。仅当ProcessDescButton返回TRUE时才显示OnClientClick

我已经通过了关于同一问题的不同帖子,并将asp:Button的Enabled属性替换为GenericHTML属性DISABLED。这是可行的,但我需要根据ProcessDescButton中实现的一些逻辑来启用和禁用按钮


我不确定要写什么来启用按钮。如果我从ProcessDescButton返回disabled,则禁用将起作用。

如果不需要回发,为什么不使用html输入按钮?

此问题是由button类中的行为引起的,与LinkButton不同

当Enabled=False时,OnClientClick的值实际上会被忽略,而不会呈现给客户端

<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>
一个选项是在客户端上使用document.load中的javascript禁用该按钮

<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>

如果你要做很多的话。我建议对按钮进行子分类,并覆盖要呈现的AddAttibutes,以获得所需的行为。

您到底想做什么?我不需要返回,但按钮文本是通过服务器端方法呈现的。使用onclick我猜它会被呈现,但无法使用ClientClick调用clientside方法!!