从 asp.net 中的代码中删除属性

Posted

技术标签:

【中文标题】从 asp.net 中的代码中删除属性【英文标题】:Remove attribute from code behind in asp.net 【发布时间】:2020-08-30 05:19:31 【问题描述】:

我有一个网格,想根据后面代码中的条件添加或删除禁用属性。

下面是jquery代码:

  $("#myGrid tbody :input").attr("disabled", "disabled");

我想从后面的代码中做同样的事情。我在#myGrid 元素上提到了“runat=server”。在后面的代码中,我尝试了如下代码:

if (condition-here)

  myGrid .Attributes.Remove("disabled");

else

  myGrid.Attributes.Add("disabled","disabled");

【问题讨论】:

【参考方案1】:

您正在尝试禁用/启用网格中的所有输入。如果您使用 AJAX 并需要它用于更新面板,我们可以使用 ScriptManager 来做到这一点,那么:

所以,基本上你的代码是这样的:

 if (condition-here)
    
      //remove attribute
    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MyScript", "$('#myGrid tbody :input').removeAttr('disabled');", true);
   
 else
   
   //add attribute
    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "MyScript", "$('#myGrid tbody :input').attr('disabled', 'disabled');", true);
   

如果你不使用 AJAX,那么使用这个:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", "$('#myGrid tbody :input').attr('disabled', 'disabled');", true);

【讨论】:

以上是关于从 asp.net 中的代码中删除属性的主要内容,如果未能解决你的问题,请参考以下文章

Jquery禁用Asp.net核心中的选定选项无法正常工作

ASP.NE网站发布注意事项

win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NE

使 asp.net 单选按钮列表显示为引导按钮组

表单身份验证、ASP.NET MVC 和 WCF RESTful 服务

命令行应用程序中的 asp.net 4.0 到 excel 2010 不起作用 - 即使在驱动程序安装后也找不到驱动程序