私はradiobuttonlistとtextareaを持つページを持っています。データは、ユーザの選択に基づいてテキストエリア内に動的に表示される。私はまた、OnSelectedIndexChanged = "RadioButtonList1_SelectedIndexChanged"を設定して、ユーザが自分の記事(ラジオボタン選択)を参照できるようにするURLを作成します。メソッドはselectindexに値を正しく割り当てません。asp.net radiobuttonlist
作成したURL(つまりhttp://test.com/test.aspx?selected=3)をカットして新しいブラウザに貼り付ける以外はすべて機能します。コードはradiobuttonlist1.selectedindexを-1に割り当て続けます。ので、ここで
は私がデバッグモードで
ケース1私は新しいブラウザhttp://test.com/test.aspx?selected=1にカットし、URLを過ぎたときに、Page_LoadメソッドのコードRadioButtonList1.SelectedIndexの終わりに等しいを見てんですよ= -1となる。何らかの理由で 'selectindexを正しく割り当てていません。
ケース2私が立ち上げたウェブページ内でラジオボタンを選択したときにポストバックが真あるので、それはPage_Loadのコードをスキップします。次に、RadioButtonList1_SelectedIndexChanged内にURLを作成します。ページ上のロードメソッドを実行し、最後に正しいRadioButtonList1.SelectedIndex値を保持します。私は、Webページ内のリンクは、それがhttp://test.com/test.aspx?selected=2を指して使用されて打ち上げ選択した場合には、Page_Loadコードと、正常に終了時に正しいRadioButtonList1.SelectedIndex値を保持するものの、それがループして
ケース3は、ポストバックはfalseです。
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プロジェクトを公開できますか? –