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

Remove attribute from code behind in asp.net

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

下面是jQuery代码:

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

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

if (condition-here)
{
  myGrid.Attributes.Remove("disabled");
}
else
{
  myGrid.Attributes.Add("disabled","disabled");
}

您正在尝试 disable/enable 网格中的所有输入。如果您使用 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);