日期:2014-05-18 浏览次数:20423 次
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:DropDownList runat="server" ID="DropDownList1" onselectedindexchanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true" > <asp:ListItem Value="1">Item 1</asp:ListItem> <asp:ListItem Value="2">Item 2</asp:ListItem> <asp:ListItem Value="3">Item 3</asp:ListItem> <asp:ListItem Value="其它">其它</asp:ListItem> </asp:DropDownList> <asp:TextBox ID="TextBox1" runat="server" Visible="false" /> </ContentTemplate> </asp:UpdatePanel>
------解决方案--------------------
也就是说DropDownList和TextBox都放在UserControl里。根据选项隐藏或显示的处理代码也放到UserContrl的.cs里。
为了尽量避免闪烁,给UserControl套一个UpdatePanel,且设置UpdateMode为Conditional.
然后在主页面放置一个ScriptManager, 在TemplateField里放置UserControl.