2

У вас есть главная страница. На странице содержимого есть список с гиперссылками, содержащими переменные запроса. Вы нажимаете на одну из ссылок, чтобы перейти на страницу, содержащую радиообъектив (возможно).динамически созданный radioobuttonlist

Первая проблема: когда я перехожу на новую страницу, я использую одну из переменных, чтобы определить, следует ли добавлять радиообъектив на местозаполнитель на странице. Я попытался сделать это на странице) _load, но потом не смог получить выбранные значения. Когда я играл в preInit, в первый раз, когда страница была там, я не могу добраться до элементов управления страницы. (Ссылка объекта не установлена ​​на экземпляр объекта.) Я думаю, что это имеет какое-то отношение к содержимому MasterPage и странице? Элементы управления не создаются до конца? (используя vb кстати)

Вторая проблема: Скажем, я получаю это для работы, как только я нажму кнопку, могу ли я получить доступ к переданной переменной запроса, чтобы определить выбранный элемент в radioobuttonlist?

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit 
    'get sessions for concurrent 

    Dim Master As New MasterPage 
    Master = Me.Master 

    Dim myContent As ContentPlaceHolder = CType(Page.Master.FindControl("ContentPlaceHolder1"), ContentPlaceHolder) 
    If Request("str") = "1" Then 
     Dim myList As dsSql = New dsSql() ''''instantiate the function to get dataset 
     Dim ds As New Data.DataSet 

     ds = myList.dsConSessionTimes(Request("eid")) 
     If ds.Tables("conSessionTimes").Rows.Count > 0 Then 
      Dim conY As Integer = 1 

      CType(myContent.FindControl("lblSidCount"), Label).Text = ds.Tables("conSessionTimes").Rows.Count.ToString 

Извините, что так нуждаемся - но, может быть, кто-то может направить меня на страницу с примерами? Может быть, это поможет понять?

Спасибо .... JB

ответ

2

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

На мастер-странице:

<asp:ContentPlaceHolder id="ContentPlaceHolderForRadioButtonList" runat="server">  
</asp:ContentPlaceHolder> 

Некоторые ссылки, содержащий запрос переменных, используемых на следующей странице.

<a href="RadioButtonList.aspx?ref=first" >Link 1</a> 
<a href="RadioButtonList.aspx?ref=second" >Link 2</a><br /> 
<a href="RadioButtonList.aspx?ref=third" >Link 3</a><br /> 
<a href="RadioButtonList.aspx?ref=forth" >Link 4</a><br /> 
<a href="RadioButtonList.aspx?ref=fifth" >Link 5</a><br /> 
<a href="RadioButtonList.aspx?ref=sixth" >Link 6</a> 

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

<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderForRadioButtonList" Runat="Server"> 
<!-- radio button list to be dynamically populated--> 
    <asp:RadioButtonList ID="RadioButtonList1" runat="server"> 
    </asp:RadioButtonList> 
</asp:Content> 

RadioButtonList.aspx: Код для динамического заполнения Ваше радио список кнопки на основе информации, переданной в

Partial Class RadioButtonList 
    Inherits System.Web.UI.Page 
    Private selection As String = "" 

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init 
     selection = IIf(Request.QueryString("ref") IsNot Nothing, Request.QueryString("ref"), "") 
     If selection = "first" Then 
      RadioButtonList1.Items.Add(New ListItem("first", "1")) 
      RadioButtonList1.Items.Add(New ListItem("third", "3")) 
      RadioButtonList1.Items.Add(New ListItem("fifth", "5")) 
     ElseIf selection = "second" Then 
      RadioButtonList1.Items.Add(New ListItem("second", "2")) 
      RadioButtonList1.Items.Add(New ListItem("forth", "4")) 
      RadioButtonList1.Items.Add(New ListItem("sixth", "6")) 
     Else 
      RadioButtonList1.Items.Add(New ListItem("first", "1")) 
      RadioButtonList1.Items.Add(New ListItem("second", "2")) 
      RadioButtonList1.Items.Add(New ListItem("third", "3")) 
      RadioButtonList1.Items.Add(New ListItem("forth", "4")) 
      RadioButtonList1.Items.Add(New ListItem("fifth", "5")) 
      RadioButtonList1.Items.Add(New ListItem("sixth", "6")) 
     End If 

     'set the selected radio button 
     For i As Integer = 0 To RadioButtonList1.Items.Count - 1 
      If RadioButtonList1.Items(i).Text = selection Then 
       RadioButtonList1.Items(i).Selected = True 
       Exit For 
      End If 
     Next 

    End Sub 

End Class 

Надеюсь, вы найдете что-то полезное здесь..