Asp.net 选择的下拉列表IndexChanged未启动
我有一个dropdownlist,它的autopostback属性设置为true。但是,当值更改时,selectedindexchanged属性不会被激发,而是始终会进入pageload。请告诉我问题出在哪里Asp.net 选择的下拉列表IndexChanged未启动,asp.net,Asp.net,我有一个dropdownlist,它的autopostback属性设置为true。但是,当值更改时,selectedindexchanged属性不会被激发,而是始终会进入pageload。请告诉我问题出在哪里 <asp:DropDownList ID="ddlVendor" CssClass="ddl" runat="server" OnSelectedIndexChanged="ddlVendor_SelectedIndexChanged" AutoPostBack="true"
<asp:DropDownList ID="ddlVendor" CssClass="ddl" runat="server"
OnSelectedIndexChanged="ddlVendor_SelectedIndexChanged" AutoPostBack="true">
protected void ddlVendor_SelectedIndexChanged(object sender, EventArgs e)
{
List<ProcurementItem> vendorsList = new List<ProcurementItem>();
vendorsList = (List<ProcurementItem>)ViewState["VendorList"];
string ID = string.Empty;
string accountID = string.Empty;
int? accountType = null;
if (ddlVendor.SelectedIndex > 0)
{
ID = ddlVendor.SelectedValue;
ProcurementClient procurementClient = new ProcurementClient();
List<ProcurementContract> contractList =
procurementClient.GetContractList(Convert.ToInt32(ID), null);
contractList = contractList.Where(i => i.Status == 4).ToList();
ddlContracts.DataSource = contractList;
ddlContracts.DataTextField = "ContractIDName";
ddlContracts.DataValueField = "ContractID";
ddlContracts.DataBind();
ddlContracts.Items.Insert(0, "");
}
}
受保护的无效ddlVendor\u SelectedIndexChanged(对象发送方,事件参数e)
{
列表供应商列表=新列表();
供应商列表=(列表)视图状态[“供应商列表”];
string ID=string.Empty;
string accountID=string.Empty;
int?accountType=null;
如果(ddlventor.SelectedIndex>0)
{
ID=ddlvindor.SelectedValue;
ProcurementClient ProcurementClient=新ProcurementClient();
列表合同列表=
procurementClient.GetContractList(转换为32(ID),空);
contractList=contractList.Where(i=>i.Status==4.ToList();
ddlContracts.DataSource=合同列表;
ddlContracts.DataTextField=“contractdname”;
ddlContracts.DataValueField=“contractd”;
ddl.DataBind();
合同。项目。插入(0,“”;
}
}
试试这个
<asp:dropdownlist id=ddltrim width="100%" Runat="server" AutoPostBack="True" EnableViewState="True" onselectedindexchanged="ddltrim_SelectedIndexChanged">
确保您的DropDownList在Fom标签内
<form>
//
</form>
//
亲爱的检查原因验证=false
也许这就是问题所在
如果您的页面中有任何验证,亲爱的
谢谢
:D如果要从数据库中填充下拉列表,请确保只有当下拉列表的DataBind()方法不是作为
protected void Page_Load(object sender, EventArgs e)
{
...
If(!Page.IsPostBack)
{
......
dropdownlist.DataBind();
.....
}
...
}
希望这有帮助:)在下拉列表中添加以下属性 1.ViewStateMode=“Enabled” 2.EnableViewState=“true”
3.AutoPostBack=“true”能否显示您的代码?此控件是否在updatepanel中?如果是,请设置EnableViewState=true并检查。
Page\u Load
将始终以回发方式命中,您是否可以通过编辑问题来回发代码,那么肯定存在一些验证错误!为ddl分配一个唯一的ValidationGroup,并查看它是否开始回发,如果开始回发,则在出现验证器的某个地方,在page指令中检查它们start EnableViewState=“true”,formDropdownlist位于asp.net页面内