<div runat = "server" style = "float:right; " >
<asp:LinkButton ID="LinkFirst" runat="server" OnClick="LinkFirst_Click">第一页</asp:LinkButton>
<asp:LinkButton ID="LinkUp" runat="server" OnClick="LinkUp_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="LinkDown" runat="server" OnClick="LinkDown_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="LinkLast" runat="server" OnClick="LinkLast_Click">最后一页</asp:LinkButton>
转到第<asp:DropDownList ID="DropDownList1" runat="server"
AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged" >
</asp:DropDownList>页
</div>
onselectedindexchanged不起作用,设断点看了下,都没进入代码
谢谢各位高手指教,不甚感激。
9 个解决方案
#1
从你帖的前台代码来看 没有问题
#2
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="c#" runat="server">
ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++) {
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue";
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}
void Index_Changed(Object sender, EventArgs e) {
Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
" with a value of $" + RadioButtonList1.SelectedItem.Value +
".";
}
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
#3
DropDownList1.AutoPostBack = true;
#4
上面已经写了的。
#5
检查是否放了updatePanle
检查控件 F4 看事件里是否注册
检查控件 F4 看事件里是否注册
#6
没有updatepanel
#7
谢谢各位,我找到问题所在了,原来控件是设置了AutoPostBack = true;但页面的AutoPostBack =false,所以导致不能触发。太不小心了,这问题困扰了我好久,非常感谢各位。
#8
把这个事件删除,重新添加一次:onselectedindexchanged="DropDownList1_SelectedIndexChanged"
#9
恩恩。基本上不能触发的话,都是autopostback这个家伙搞的鬼。
再就是page_load里面的ispostback。。
再就是page_load里面的ispostback。。
#1
从你帖的前台代码来看 没有问题
#2
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="c#" runat="server">
ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++) {
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue";
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}
void Index_Changed(Object sender, EventArgs e) {
Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
" with a value of $" + RadioButtonList1.SelectedItem.Value +
".";
}
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
#3
DropDownList1.AutoPostBack = true;
#4
上面已经写了的。
#5
检查是否放了updatePanle
检查控件 F4 看事件里是否注册
检查控件 F4 看事件里是否注册
#6
没有updatepanel
#7
谢谢各位,我找到问题所在了,原来控件是设置了AutoPostBack = true;但页面的AutoPostBack =false,所以导致不能触发。太不小心了,这问题困扰了我好久,非常感谢各位。
#8
把这个事件删除,重新添加一次:onselectedindexchanged="DropDownList1_SelectedIndexChanged"
#9
恩恩。基本上不能触发的话,都是autopostback这个家伙搞的鬼。
再就是page_load里面的ispostback。。
再就是page_load里面的ispostback。。