为什么dropdownlist无法触发SelectedIndexChanged事件
前端:<asp:DropDownListID="MainList"runat="server"AutoPostBack="true"onselectedindexchan...
前端:
<asp:DropDownList ID="MainList" runat="server" AutoPostBack="true" onselectedindexchanged="MainList_SelectedIndexChanged">
<%-- <asp:ListItem Value=“0”>所有部门</asp:ListItem>
<asp:ListItem Value="1">第一大队</asp:ListItem>
<asp:ListItem Value="2" >第二大队</asp:ListItem>
<asp:ListItem Value="3" >第三大队</asp:ListItem>
--%>
</asp:DropDownList>
后台:
public partial class DepartmentManage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ListBind();
}
}
void ListBind()
{
using (ZSDService zsd = new ZSDService())
{
DataSet lds = zsd.Search("BASICDATA", "Name,num", " and grade=1");
if (lds != null && lds.Tables[0].Rows.Count > 0)
{
MainList.DataSource = lds.Tables[0].DefaultView;
MainList.DataTextField = "Name";
MainList.DataValueField = "num";
MainList.DataBind();
MainList.Items.Insert(0, new ListItem("- - -所有部门- - -", ""));
}
}
}
protected void MainList_SelectedIndexChanged(object sender, EventArgs e)
{
Select1.Style.Value = "display:inline-block";
}
}
每次一选择item,页面刷新后dropdownlist就没值了,而且SelectedIndexChanged事件也进不去(直接前端静态添加item是能触发的),百思不得其解,求大神解释下 展开
<asp:DropDownList ID="MainList" runat="server" AutoPostBack="true" onselectedindexchanged="MainList_SelectedIndexChanged">
<%-- <asp:ListItem Value=“0”>所有部门</asp:ListItem>
<asp:ListItem Value="1">第一大队</asp:ListItem>
<asp:ListItem Value="2" >第二大队</asp:ListItem>
<asp:ListItem Value="3" >第三大队</asp:ListItem>
--%>
</asp:DropDownList>
后台:
public partial class DepartmentManage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ListBind();
}
}
void ListBind()
{
using (ZSDService zsd = new ZSDService())
{
DataSet lds = zsd.Search("BASICDATA", "Name,num", " and grade=1");
if (lds != null && lds.Tables[0].Rows.Count > 0)
{
MainList.DataSource = lds.Tables[0].DefaultView;
MainList.DataTextField = "Name";
MainList.DataValueField = "num";
MainList.DataBind();
MainList.Items.Insert(0, new ListItem("- - -所有部门- - -", ""));
}
}
}
protected void MainList_SelectedIndexChanged(object sender, EventArgs e)
{
Select1.Style.Value = "display:inline-block";
}
}
每次一选择item,页面刷新后dropdownlist就没值了,而且SelectedIndexChanged事件也进不去(直接前端静态添加item是能触发的),百思不得其解,求大神解释下 展开
1个回答
推荐于2016-04-04 · 知道合伙人数码行家
关注
展开全部
下面是代码if (e.Item.ItemType == ListItemType.Item) { DropDownList ddl = (DropDownList)e.Item.FindControl("ddl1"); OleDbConnection cn = new OleDbConnection(ConnectionString); cn.Open(); cn1 = new OleDbConnection(ConnectionString); cn1.Open(); OleDbCommand cmd = new OleDbCommand("select * from Detail", cn); OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); ddl.DataSource = dr; ddl.DataTextField = "DName"; ddl.DataValueField = "id"; ddl.DataBind(); }如果我们想触发DropDownList的SelectedIndexChanged怎么办呢。其实很简单,在前台页面,把datalist进入编辑状态。也就是编辑模板。就会看见DropDownList了。这时双击它就出现SelectedIndexChanged事件,可是属性菜单中无法找到AutoPostBack,没关系,我们在前台,给它加上就行了。AutoPostBack = "true"
在SelectedIndexChanged事件中,你可以做你想做的事了。
可是有一点,如果我想查看一下,我选择是什么怎么呢,这里不是有一个sender吗,我们对它处理就行了protected void ddl1_SelectedIndexChanged(object sender, EventArgs e) { Response.Write(((DropDownList)sender).SelectedValue.ToString()); //如果你想得到我是哪行进行改变。哪么就得进行这样取,这里说明一点。这个方法,是群里一个兄弟提出的,同时也给出了代码。
在SelectedIndexChanged事件中,你可以做你想做的事了。
可是有一点,如果我想查看一下,我选择是什么怎么呢,这里不是有一个sender吗,我们对它处理就行了protected void ddl1_SelectedIndexChanged(object sender, EventArgs e) { Response.Write(((DropDownList)sender).SelectedValue.ToString()); //如果你想得到我是哪行进行改变。哪么就得进行这样取,这里说明一点。这个方法,是群里一个兄弟提出的,同时也给出了代码。
追问
这位同学不要复制别人的。。。。我有SelectedIndexChanged事件,也写了AutoPostBack = "true"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询