GridViewRow中DropDownList的SelectedIndex值总是为0

问题:

我想做一个批量处理(一个DropDownList,一个提交按钮)和单条处理的效果(在GridView中生成多个DropDownList,多个提交按钮),
因为批量处理的DropDownList只有一个,所以在后台直接取ID获得SelectedIndex值,没问题

r_Freq = ddlRFreq.SelectedIndex;

DropDownList在前台的ID是r_Freq ,接下来用FindControl找到当前行中的DropDownList,再取值就不行了,取到的值老是0

r_Freq = ((DropDownList)(row.FindControl("ddlRowRFreq"))).SelectedIndex;

 

解决方法:

在pageload,页面初始化方法中添加!IsPostBack的判断条件。之前不知道什么时候把!IsPostBack删除掉了,导致每次点击按钮之后GridView会初始化,连带着里面的DDL也初始化,当让SelectedIndex的值老是为默认值0了...

if (!IsPostBack)

        {

            InitPage();

        }
 

你可能感兴趣的:(GridView)