使UserControl中的文本框变为只读

时间:2014-05-27 16:32:16

标签: c# asp.net

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

1 个答案:

答案 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;
}