asp.net使用updatepanel实现局部刷新时,实现了局部刷新,但是莫名其妙生成了新的控件?怎么回事?
代码如下:<asp:ScriptManagerID="ScriptManager2"runat="server"></asp:ScriptManager><asp:Upd...
代码如下: <asp:ScriptManager ID="ScriptManager2" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<tr><td>
<br />
<label> 款式选择:</label></td></tr>
<label>
<asp:RadioButtonList ID="rblStyle" runat="server"
RepeatDirection="Horizontal"
onselectedindexchanged="rblStyle_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value="rbMale">男士</asp:ListItem>
<asp:ListItem Value="rbFemale">女式</asp:ListItem>
<asp:ListItem Value="rbChild">童鞋</asp:ListItem>
</asp:RadioButtonList>
<br />
类型选择:</label>
<br />
<label>类型一:</label><asp:DropDownList ID="dplBtype1"
runat="server" Width="90px" Height="20px"
onselectedindexchanged="dplBtype1_SelectedIndexChanged1"
AutoPostBack="True">
</asp:DropDownList>
<br />
<br /> <label>类型二:</label><asp:DropDownList ID="dplBtype2" runat="server" Width="90px"
onselectedindexchanged="dplBtype2_SelectedIndexChanged1" Height="20px">
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rblStyle" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="dplBtype1" EventName="SelectedIndexChanged"/>
</Triggers>
</asp:UpdatePanel> 展开
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<tr><td>
<br />
<label> 款式选择:</label></td></tr>
<label>
<asp:RadioButtonList ID="rblStyle" runat="server"
RepeatDirection="Horizontal"
onselectedindexchanged="rblStyle_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value="rbMale">男士</asp:ListItem>
<asp:ListItem Value="rbFemale">女式</asp:ListItem>
<asp:ListItem Value="rbChild">童鞋</asp:ListItem>
</asp:RadioButtonList>
<br />
类型选择:</label>
<br />
<label>类型一:</label><asp:DropDownList ID="dplBtype1"
runat="server" Width="90px" Height="20px"
onselectedindexchanged="dplBtype1_SelectedIndexChanged1"
AutoPostBack="True">
</asp:DropDownList>
<br />
<br /> <label>类型二:</label><asp:DropDownList ID="dplBtype2" runat="server" Width="90px"
onselectedindexchanged="dplBtype2_SelectedIndexChanged1" Height="20px">
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rblStyle" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="dplBtype1" EventName="SelectedIndexChanged"/>
</Triggers>
</asp:UpdatePanel> 展开
展开全部
前台的代码看着是没有什么问题的,你确定你后台写的时候没有在前台添加控件的代码吗?
追问
没有啊,把trigger去掉就不会出现这个问题了,但是又整页刷新了纠结啊
追答
你是想着页面不刷新,而且DropDownList选择改变时候还触发事件是吧,把Triggers去掉,再将DropDownList一个autopost的属性设置为true就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多生成了什么控件?
追问
就是添加了triggers的那两个控件 rblStyle和dplByte1 包括前面的label
追答
你使用updatepanel的方法不正确,已经使用了触发器的控件是不需要放在UpdatePanel里面的,这样也可以让回发的数据量最少,注意dplBtype1与dplBtype2行为是不同的
参考
.aspx
男士
女式
童鞋
a
b
c
.aspx.cs
protected void rblStyle_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = rblStyle.SelectedValue;
}
protected void dplBtype1_SelectedIndexChanged1(object sender, EventArgs e)
{
Label1.Text = dplBtype1.SelectedValue;
}
地方不够了... dplBtype2代码类似
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询