привязка к значению радиокнопки, данные не привязаны, asp.net c # - PullRequest
0 голосов
/ 21 января 2011

Привет, мне нужно немного изменить мой код.У меня есть страница со списком переключателей и текстовой областью.Текстовая область заполняется, когда пользователь выбирает переключатель.

также, когда пользователь делает выбор радиокнопки, URL будет содержать расширение в URL, чтобы показать, какой индекс индекса выбора у них есть.(то есть? selected = 0)

http://test.com/frm_Articles.aspx?selected=0 http://test.com/frm_Articles.aspx?selected=1 http://test.com/frm_Articles.aspx?selected=2

, чтобы они могли скопировать URL-адрес и ссылаться на него на других веб-сайтах в качестве ссылки.или поместите это в их избранное.

проблема в том, , если вы берете URL-адрес и открываете новый браузер, страница не передает значение и данные соответственно.Никакие радио кнопки или контент не появляются на странице.должна быть логика обратной передачи, я думаю ???

что работает:

  1. , когда я запускаю веб-сайт, появляются радио-кнопки, и индекс 0 устанавливается
  2. , когда явыберите радиокнопки для отображения правильных данных и отображения ссылок на значения радиокнопок в браузере (т. е. http://test.com/test.aspx?selected=2)
  3. , если я вырезал и вставил URL-адреса указателя в том же браузере, то отображаются правильные данные

что не работает (все, что касается ложного PostBack):

1.При запуске веб-сайта никакие данные в пределах текстовой области не появляются, даже если переключатель установлен в 0 индекс и является видимым.2. если я вырезал и вставил URL-адрес указателя в новый браузер, текстовая область и переключатели не отображаются.

    protected void Page_Load(object sender, EventArgs e)
    {


            if (Page.IsPostBack == false)
            {

                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;
                    RadioButtonList1.DataBind();   

                }

            }


    }


    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);

    }


}  

Ответы [ 2 ]

1 голос
/ 21 января 2011

В вашем коде на Page_Load событии до этой строки

RadioButtonList1.SelectedIndex = selected;

вы должны связать RadioButtonList1.после привязки RadioButtonList вы можете установить SelectedIndex.

0 голосов
/ 01 февраля 2011

Мой метод SqlDataSource1_Selecting был проблемой. Я использовал другой подход, и мой код работал.

...