나는이 같은 데이터베이스에서 질문에 소요 DataList에 ItemTemplate을 내에서 .aspx 페이지에서 다음과 같은 클라이언트 측 코드 :클라이언트 측 HTML 라디오 버튼을 동적 ID가있는 asp.net 웹 컨트롤로 변환합니다. (ASP.net) (VB)
는<Itemtemplate>
<b> <%=GetQuestionNum()%>)
<%#Server.HtmlEncode(Eval("Text").ToString())%></b>
<br />
<asp:Panel ID="A" runat="server" Visible='<%#GetVisible(Eval("OptionA").Tostring())%>'>
<input name="Q<%#Eval("ID")%>" type="radio" value="A">
<%#Server.HtmlEncode(Eval("OptionA").ToString())%>
</option><br />
</asp:Panel>
<asp:Panel ID="B" runat="server" Visible='<%#GetVisible(Eval("OptionB").Tostring())%>'>
<input name="Q<%#Eval("ID")%>" type="radio" value="B">
<%#Server.HtmlEncode(Eval("OptionB").ToString())%>
</option><br />
</asp:Panel>
<asp:Panel ID="C" runat="server" Visible='<%#GetVisible(Eval("OptionC").Tostring())%>'>
<input name="Q<%#Eval("ID")%>" type="radio" value="C">
<%#Server.HtmlEncode(Eval("OptionC").ToString())%>
</option><br />
</asp:Panel>
<asp:Panel ID="D" runat="server" Visible='<%#GetVisible(Eval("OptionD").Tostring())%>'>
<input name="Q<%#Eval("ID")%>" type="radio" value="D">
<%#Server.HtmlEncode(Eval("OptionD").ToString())%>
</option><br />
</asp:Panel></itemtemplate>
출력은 같은 것입니다 :
1) 귀하의 연령대는 무엇입니까?
- 옵션 1
- 옵션 2
- 옵션 3
- 옵션 4
라디오 버튼의 ID 년대는 ("Q"& QuestionID) 동적이다. 질문에 대한 응답이 없으면 GetVisible 함수는 false를 반환하고 포함 패널은 숨겨집니다.
나는 html을 없애고 asp : radiobuttons로 바꾸려고 노력해 왔지만 id를 databinding ..에서 간단히 설정할 수는 없다. 내가 좋아하는 뭔가를 시도했다 : 여기
<asp:RadioButton ID="Q<%#Eval("ID")%>" runat="server" Visible='<%#GetVisible(Eval("OptionA").Tostring())%>'
Text='<%#Server.HtmlEncode(Eval("OptionA").ToString())%>' />
가 제공하는 기능입니다 데이터 :
Public Shared Function GetQuestionsForSurvey(ByVal id As Integer) As DataSet
Dim dsQuestions As DataSet = New DataSet()
Try
Using mConnection As New SqlConnection(Config.ConnectionString)
Dim mCommand As SqlCommand = New SqlCommand("sprocQuestionSelectList", mConnection)
mCommand.CommandType = CommandType.StoredProcedure
Dim myDataAdapter As SqlDataAdapter = New SqlDataAdapter()
myDataAdapter.SelectCommand = mCommand
mCommand.CommandType = CommandType.StoredProcedure
mCommand.Parameters.AddWithValue("@id", id)
myDataAdapter.Fill(dsQuestions)
mConnection.Close()
Return dsQuestions
End Using
Catch ex As Exception
Throw
End Try
End Function
하지만 난 그게 불가능 즉, HTML 컨트롤을 작동 코드 숨김에서 자신의는 .text 값을 얻기 위해 찾는거야 , 또는 이벤트 추가!
전문가는 HTML을 적절한 asp.net 웹 컨트롤이나 코드 숨김으로 바꾸고 출력하는 더 좋은 방법을 제안 할 수 있습니까? 아니면 올바른 방향으로 나를 가르쳐 주시겠습니까?
감사합니다 : 0)
대단한 도움이었습니다. 감사합니다. – Phil