簡體   English   中英

從ListView ASP.NET中的Radiobuttonlist和Checkboxlist中獲取選定值

[英]Getting Selected Values from Radiobuttonlist and Checkboxlist in ListView ASP.NET

我在ASP.NET中創建了一個測驗應用程序,我使用ListView顯示了問題和答案,並使用了DataPager for Next Previous按鈕。 我想知道如何保留每個問題的答案的代碼。

這是靜態數據表綁定。 您可以將其與數據庫值綁定。 aspx頁面就好

<form id="form1" runat="server">
    <div>
        <asp:ListView runat="server" ID="lstQuestions" OnItemDataBound="lstQuestions_ItemDataBound">
            <ItemTemplate>
                <asp:Label runat="server" ID="lblQuestionNo" Text='<%# "Q. "+ Eval("No") %>'></asp:Label>
                <asp:Label runat="server" ID="lblQuestion" Text='<%#Eval("Question") %>'></asp:Label><br />
                Select Answer:
                <br />
                <asp:RadioButtonList ID="rdoAnswers" runat="server" RepeatColumns="2" RepeatDirection="Horizontal"></asp:RadioButtonList>
            </ItemTemplate>
        </asp:ListView>
    </div>
</form>

aspx.cs頁面如:

 protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //this portion is dynamic
        //You can get questions from your database.
        DataTable dt = new DataTable();
        dt.Columns.Add("No", typeof(int));
        dt.Columns.Add("Question");
        for (int i = 1; i < 10; i++)
            dt.Rows.Add(i, "Your Question -" + i);
        lstQuestions.DataSource = dt;
        lstQuestions.DataBind();
    }
}

protected void lstQuestions_ItemDataBound(object sender, ListViewItemEventArgs e)
{ 
    //this portion is dynamic
  //You can get answers from your database.
    RadioButtonList rdo = (RadioButtonList)e.Item.FindControl("rdoAnswers");
    DataTable dt = new DataTable();
    dt.Columns.Add("No", typeof(int));
    dt.Columns.Add("Answers");
    for (int i = 1; i < 5; i++)
        dt.Rows.Add(i, "Your Answer -" + i);
    rdo.DataSource = dt;
    rdo.DataMember = "Answers";
    rdo.DataValueField = "No";
    rdo.DataBind();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM