我有一個帶有radiobuttonlist和textarea的頁面。數據會根據用戶的選擇在textarea內動態顯示。我還設置了一個OnSelectedIndexChanged =「RadioButtonList1_SelectedIndexChanged」來創建一個允許用戶引用他們的文章(單選按鈕選擇)的url。方法將不會正確地爲選擇索引賦值,asp.net radiobuttonlist
除了剪切和粘貼創建的網址(即http://test.com/test.aspx?selected=3)到一個新的瀏覽器之外,一切都可以使用。該代碼始終將radiobuttonlist1.selectedindex分配給-1。
所以這裏是我所看到的在調試模式
案例1當我切過去,以新的瀏覽器http://test.com/test.aspx?selected=1的URL,在Page_Load方法代碼RadioButtonList1.SelectedIndex的結束等於= -1。由於某種原因,它'沒有正確分配選擇索引。
案例2當我選擇網頁我發起內的單選按鈕,它會跳過在Page_Load代碼,因爲後回是真的。然後在RadioButtonList1_SelectedIndexChanged中創建一個url。然後運行頁面加載方法並在最後保持正確的RadioButtonList1.SelectedIndex值。
案例3當我選擇網頁內的鏈接推出了使用指向http://test.com/test.aspx?selected=2,回發是假的,因此雖然循環在Page_Load代碼,併成功舉辦末正確RadioButtonList1.SelectedIndex值。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int selected;
if (Request.QueryString["selected"] != null)
{
if (int.TryParse(Request.QueryString["selected"], out selected))
{
RadioButtonList1.SelectedIndex = selected;
RadioButtonList1.DataBind();
}
}
else
{
int firstart = 0;
RadioButtonList1.SelectedIndex = firstart;
}
}
}
protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
}
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
try{
e.Command.Parameters["@URL_FK"].Value = Session["URL_PK"];
}
catch (Exception ex)
{
}
}
protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
string strRedirect;
strRedirect = "test.aspx?selected=" + RadioButtonList1.SelectedIndex;
Response.Redirect(strRedirect);
}
}
您是否可以發佈具有此行爲的簡化ASP .NET項目?我試圖重現這一點,我不能:( – 2011-01-25 19:21:02