![](/img/trans.png)
[英]how to delete dynamic created textbox controls on dropdownlist selectedIndexChanged event and recreate new dynamic control on new selected value
[英]Set dropdownlist selected value inside selectedindexchanged event?
我在運行時綁定了一個下拉列表,並且其第一項為“ --Select--”。
我有一個特定的要求,如果用戶從下拉列表中選擇了另一個項目,然后在selectedindexchanged
事件內部,我要檢查是否不是首先選擇的項目,然后應用邏輯,然后在代碼結尾將其重置為第一項目。
protected void ddlExistingGoals_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlExistingGoals.SelectedValue != "0")
{
---- Perform Logic ----
ddlExistingGoals.Items.FindByValue("0").Selected = true;
}
else
{
clearAllControls();
}
}
當我編寫以上代碼時,它不會在頁面內渲染網格數據,還嘗試了下拉preRender方法,如下所示:
protected void ddlExistingGoals_PreRender(object sender, EventArgs e)
{
if (ddlExistingGoals.SelectedValue != "0")
{
ddlExistingGoals.Items.FindByValue("0").Selected = true;
}
}
在這兩種情況下,它都不會更改下拉選擇的索引,也不會在頁面上呈現其他控制邏輯數據。 這很特殊,我想知道是否有可能在下拉列表的selectedindexchanged事件中更改所選索引嗎? 提前致謝。
我不確定.SelectedValue和.Selected是否相同。 .selected是僅一項的屬性。 它無法知道其他項目的狀況。 而.SelectedIndex是Dropdown的屬性,而Dropdown可以首先取消選擇先前選擇的項目。
ListItem不知道它屬於哪個列表,因此如何在其他列表中選擇自身?
因為“已選擇”是ListItem的屬性,而不是ddl的屬性。 通過設置..Selected,您不會在所有者列表中選擇項目,就像在設置.SelectedItem的情況下一樣。 而是由您自己設置項目,而所有者必須權衡是否應選擇該項目。
采用
ListItem myitem = ddlChoseModel.Items.FindByValue(ModelID);
ddlChoseModel.SelectedValue = myitem.Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.