我有一个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,所以这似乎应该是可能的,但我不知道如何/可以存储值。
答案 0 :(得分:0)
是的。你可以这样做。
void Page_Load()
{
tbOther.MaxLength = Int32.Parse(ddlList.SelectedValue);
}
该值会自动存储在页面的ViewState中,因此您根本不必担心。