日期:2014-05-18 浏览次数:20503 次
<%@ 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.