实际上我在编辑模式下在gridview中限制了一个下拉列表,但问题是每当我尝试从下拉列表中选择另一个值时,它会自动选择第一个值。
我还在page_load事件中使用了!IsPostBack属性,但仍然没有选择其他项目。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList ddlCost_Code = DropDownList)e.Row.FindControl("ddlCost_Code");
BAL bl = new BAL();
DataTable dt_for_CostCode = null;
dt_for_CostCode = bl.Select_Cost_Code();
if (dt_for_CostCode.Rows.Count > 0)
{
ddlCost_Code.DataSource = dt_for_CostCode;
ddlCost_Code.DataTextField = "Cost_Code";
ddlCost_Code.DataValueField = "Proposalno";
ddlCost_Code.DataBind();
}
}
if (!IsPostBack)
{
try
{
Log_Booked_Info_Through_Booking_Table();
}
catch (Exception ex)
{
WebMsgBox.Show(ex.Message);
}
}
}
答案 0 :(得分:0)
首先,这会更有效率。
if (e.Row.RowState == DataControlRowState.Edit)
{
// your code here
}
其次,检查gridview中DropDown的
AutoPostBack
属性。它是什么设置的。在你的情况下它应该是假的,除非你在onselectedindexchanged
下拉事件中设置了一些逻辑。
答案 1 :(得分:0)
试试这个:
ddlCost_Code.SelectedIndex = 0;