根据DropDownList选择在TextBox上设置MaxLength?

时间:2012-03-09 20:56:59

标签: asp.net .net textbox

我有一个TextBox,根据DropDownList中的选择显示。文本框的默认行为是Visible="false"。 MaxLength值需要根据DropDownList中的选择而变化。请注意,偶尔会显示TextBox。

我在下面提供了标记。

    <asp:UpdatePanel ID="updatePanel" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional" RenderMode="Inline">
        <ContentTemplate>
            <asp:DropDownList ID="ddlList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlList_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:TextBox ID="tbOther" runat="server" Visible="false" OnPreRender="tbOther_PreRender"></asp:TextBox>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlList" />
        </Triggers>
    </asp:UpdatePanel>

我仍在努力解决这个问题,但是可以在DropDownList上保存MaxLength的值,然后在后面的代码中使用该值来设置MaxLength文本框?由于我在UpdatePanel中有一个下拉菜单并且正在使用AutoPostBack,所以这似乎应该是可能的,但我不知道如何/可以存储值。

1 个答案:

答案 0 :(得分:0)

是的。你可以这样做。

void Page_Load()
{
    tbOther.MaxLength = Int32.Parse(ddlList.SelectedValue);
}

该值会自动存储在页面的ViewState中,因此您根本不必担心。