У меня есть страница с радиообъективом и текстовым полем. данные отображаются динамически в текстовом поле на основе выбора пользователя. Я также создал OnSelectedIndexChanged = "RadioButtonList1_SelectedIndexChanged", чтобы создать URL-адрес, который позволит пользователям ссылаться на свою статью (выбор переключателя).метод не будет правильно присваивать значение selectindex, asp.net radiobuttonlist
все работает, за исключением резки и вставки созданного URL-адреса (то есть http://test.com/test.aspx?selected=3) в новый браузер. код продолжает присваивать radobuttonlist1.selectedindex -1.
так вот что я вижу в режиме отладки
Случай 1 когда я вырезать и мимо URL в новый браузер http://test.com/test.aspx?selected=1, в конце Page_Load кода метод RadioButtonList1.SelectedIndex равен = -1. по какой-то причине он «неправильно назначает selectindex.
Случай 2 когда я выбрать радиокнопку в веб-страницы, я запущен, он пропускает код Page_Load потому что пост обратно верно. затем создает URL-адрес в RadioButtonList1_SelectedIndexChanged. затем запускается метод загрузки на странице и удерживает правильное значение 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 с таким поведением? Я попытался воспроизвести это, и я не могу :( –