C# asp.net中DropDownList的自动回发
当我为DropDownList设置AutoPostback=True时,只有SelectedIndexChanged事件被触发,否则不会 我想在AutoPostback=false时触发事件 有什么解决办法吗C# asp.net中DropDownList的自动回发,c#,asp.net,C#,Asp.net,当我为DropDownList设置AutoPostback=True时,只有SelectedIndexChanged事件被触发,否则不会 我想在AutoPostback=false时触发事件 有什么解决办法吗 <asp:DropDownList ID="SlotDuration_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2"
<asp:DropDownList ID="SlotDuration_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2" OnSelectedIndexChanged="SlotDuration_DDL_SelectedIndexChanged">
<asp:ListItem>10</asp:ListItem>
<asp:ListItem>15</asp:ListItem>
<asp:ListItem>20</asp:ListItem>
<asp:ListItem>25</asp:ListItem>
<asp:ListItem>30</asp:ListItem>
<asp:ListItem>35</asp:ListItem>
<asp:ListItem>40</asp:ListItem>
<asp:ListItem>45</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<asp:ListItem>55</asp:ListItem>
<asp:ListItem>60</asp:ListItem>
</asp:DropDownList>
10
15
20
25
30
35
40
45
50
55
60
代码隐藏
protected void SlotDuration_DDL_SelectedIndexChanged(object sender, EventArgs e)
{
DateTime dt = DateTime.Parse(StartDate_TB.Text);
int n = Int32.Parse(EventDuration_DDL.SelectedItem.ToString());
for (int i = 0; i < n; i++)
{
Label NewLabel = new Label();
NewLabel.ID = "Label" + i;
var eventDate = dt.AddDays(i); //Calendar1.SelectedDate.Date.AddDays(i);
NewLabel.Text = eventDate.ToLongDateString();
CheckBox newcheck = new CheckBox();
newcheck.ID = "CheckBox" + i;
this.Labeldiv.Controls.Add(new LiteralControl("<span class='h1size'>"));
this.Labeldiv.Controls.Add(NewLabel);
this.Labeldiv.Controls.Add(new LiteralControl("</span>"));
this.Labeldiv.Controls.Add(new LiteralControl("<div class='make-switch pull-right' data-on='info'>"));
this.Labeldiv.Controls.Add(newcheck);
this.Labeldiv.Controls.Add(new LiteralControl("</div>"));
this.Labeldiv.Controls.Add(new LiteralControl("<br/>"));
}
}
protectedvoid SlotDuration\u DDL\u SelectedIndexChanged(对象发送方,事件参数e)
{
DateTime dt=DateTime.Parse(StartDate_TB.Text);
int n=Int32.Parse(EventDuration_DDL.SelectedItem.ToString());
对于(int i=0;i ”);
}
}
这是可能的,但不能在代码隐藏处使用事件。
您需要尝试使用JS/JQuery
检查。这是可能的,但不要在代码隐藏处使用事件。 您需要尝试使用JS/JQuery
选中。
SelectedIndexChanged
即使将自动回发
设置为false,也会触发事件。但是页面不会立即回发postback
因此,如果用户更改DDL的选择,然后(可能在页面中执行其他操作后)单击提交页面的按钮(
postback
),将调用此事件的处理程序。SelectedIndexChanged
事件被激发,即使您将AutoPostback
设置为false。但是页面不会立即回发postback
因此,如果用户更改DDL的选择,然后(可能在页面中执行其他操作后)单击提交页面的按钮(
postback
),将调用此事件的处理程序。是否确定控件处于From标记下,也尝试使用硬编码值测试它
<form ID="form1" runat="server">
....dropdown
</form>
…下拉列表
是否确定控件处于From标记下,同时尝试使用硬编码值对其进行测试
<form ID="form1" runat="server">
....dropdown
</form>
…下拉列表
我认为您希望将autopostback设置为false,因为整个页面正在刷新,要解决此问题,您可以使用update panel。在updatepanel中保持下拉,并将autopostback设置为true。只有updatepanel中的部分将转到服务器并调用selectedindexchanged事件,您的页面将不会刷新。
下面的链接将给你们一些关于更新面板的想法
我认为您希望将autopostback设置为false,因为整个页面正在刷新,要解决此问题,您可以使用更新面板。在updatepanel中保持下拉,并将autopostback设置为true。只有updatepanel中的部分将转到服务器并调用selectedindexchanged事件,您的页面将不会刷新。 下面的链接将给你们一些关于更新面板的想法
实际上,即使将
AutoPostback
设置为false
,也会触发SelectedIndexChanged
事件。但该页面不会立即回发。因此,在下一次回发时,您可以处理该事件,即使是另一个事件导致了回发(例如按钮单击事件)@THOR实际上是否,因为在这种情况下,当您使AutoPostback=True
时,服务器端的单击将起作用。如果您想要一些javascript功能,而不需要使用AutoPostback=True
就可以使用updatePanelajax@MahmoudeElghandour,您能给我代码吗……看到了吗?实际上,即使您将AutoPostback
设置为false
,也会触发SelectedIndexChanged
事件。但该页面不会立即回发。因此,在下一次回发时,您可以处理该事件,即使是另一个事件导致了回发(例如按钮单击事件)@THOR实际上是否,因为在这种情况下,当您使AutoPostback=True
时,服务器端的单击将起作用。如果您想要一些javascript功能,而不需要使用AutoPostback=True
就可以使用updatePanelajax@MahmoudeElghandour,你能给我密码吗……看到这个@someone\u voting\u down\u to\u all\u post\u他能解释为什么我的答案不正确吗?或者至少给出一个答案?@有人在这里投票反对,他能解释为什么我的答案不正确吗?或者至少给出一个事实?这应该是一个评论!这应该是一个评论!