我在UserControl中有几个文本框。我将如何根据条件将它们更改为readOnly = true / false?
在我的内容页面中,我有以下代码:
<%@ Register TagPrefix="uc1" TagName="item" Src="~/User_Controls/itemDetails.ascx" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent_1" runat="server">
<uc1:item id="ItemList" runat="server"></uc1:item><br />
</asp:Content>
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
if (//Some Conditions)
{
//turn ItemList.txtItemName = enable read Only
}
if (//Some other Conditions)
{
//turn ItemList.txtItemPrice = disable read Only
}
}
在ItemDetails.ascx.cs中:
protected void Page_Load(object sender, EventArgs e)
{
}
public string itemName
{
get { return txtItemName.Text; }
set { txtItemName.Text = value; }
}
public string itemPrice
{
get { return txtItemPrice.Text; }
set { txtItemPrice.Text = value; }
}
//and get...set... for other controls
答案 0 :(得分:2)
在用户控件ItemDetails.ascx
中创建属性。并将属性分配给文本框启用属性。
用户控制
public bool EnabledtxtItemName { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
txtItemName.Enabled = EnabledtxtItemName;
}
现在,您可以从添加了用户控件的相应页面访问该属性。
网页
protected void Page_Load(object sender, EventArgs e)
{
ItemList.EnabledtxtItemName = false;
}