C# 将输入设置为runat=";服务器";基于代码隐藏属性禁用的步骤
我正在尝试使用C# 将输入设置为runat=";服务器";基于代码隐藏属性禁用的步骤,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在尝试使用runat=“server”属性禁用输入。这应该基于代码隐藏属性。下面是我在一个全新的.NET 3.5 Web表单项目中的一个最简单的场景: public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { this.IsReadOnly = true; } public bool I
runat=“server”
属性禁用输入。这应该基于代码隐藏属性。下面是我在一个全新的.NET 3.5 Web表单项目中的一个最简单的场景:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.IsReadOnly = true;
}
public bool IsReadOnly { get; set; }
}
输入未呈现为禁用
我做错了什么?我尝试了各种各样的方法,但都没有效果,包括:
disabled=”“
:即使IsReadOnly=true,也不禁用
disabled=''
:当IsReadOnly=false时不工作
标记内:解析器错误
如何基于code behind属性禁用aspx中的输入?因此,这里需要注意以下几点:
为什么不在页面加载处理程序中执行myinput.Disabled=IsReadOnly
?请注意,您不能使用,这是我当前使用的解决方法。然而,因为aspx已经有很多其他类似的部件,我想把它们都保留在那里(或者,当我在几个月后回到这个视图时,我可能不知道输入是如何被禁用的)。如果我在数据绑定上下文中使用模型上的IsReadOnly
,并且在@Jeroen中,如果您在数据绑定上下文中,例如在网格视图中,您的输入控件将位于某种模板中,并且在代码中不可用,而只是它们的ID。在这种情况下,Disabled=
是正确的选择
private bool _isReadOnly;
public bool IsReadOnly
{
get { return _isReadOnly; }
set
{
myinput.Disabled = value;
_isReadOnly = value;
}
}