2013-03-11

動態(Server Side)產生的連動式下拉選單後在Postback(Server Side)取值

紀錄一下, 不需要再為了同一個功能搞到四點  =.=a


1. 產生元件的code須寫在PreInit()


protected override void OnInit(EventArgs e)
{
    bindDropdownlist();
    base.OnInit(e);
}


protected void btnSubmit_Click(object sender, EventArgs e)
{
    DropDownList ddlTest = new DropDownList();
    string _ddltest = "";
    if (ctl.ID.IndexOf("ddlTest") >= 0)
    {
        ddlTest = (DropDownList)ctl;
        _ddltest = this.Request[ddlTest.UniqueID];
    }

}


大致上的code類似這樣,
有在Client端使用javascript變更過的元件要取值, 這應該是最簡單的寫法了, 
唯一要注意的是用ddlTest.UniqueID, 不是ddlTest.ID也不是ddlTest.Client
為了這種鳥問題搞到四點真的不值得....... Orz