簡體   English   中英

如何設置在向導控件中選中的先前選擇的單選按鈕?

[英]How do I set previously selected radio button checked in wizard control?

我將使用c#在asp.net中構建在線考試系統。我創建了一個在線考試向導,但是每當我進行下一步然后返回上一步時,我發現所選的radiobuttonr仍然未被選中。 為什么會這樣呢? 解決方案是什么?

我想問一個問題:-是否可以將計時器,考試名稱和總分放在每個步驟的頂部,而不必在向導控制的每個步驟中重復進行? 如果是,那怎么辦?

這是向導第一步的.cs代碼:-

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

public partial class Demo : System.Web.UI.Page
{
SqlConnection con;

public Demo()
{
    con = new SqlConnection();
    con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();

}


protected void Page_Load(object sender, EventArgs e)
{

}
protected void wizard1(Object sender, System.EventArgs e)
{
    SqlDataAdapter adp = new SqlDataAdapter("select top 10 Question,Option1,Option2,Option3,Option4 from Questions", con);
    DataTable dt = new DataTable();
    adp.Fill(dt);
    Repeater1.DataSource = dt;
    Repeater1.DataBind();


}
}

這是.aspx代碼:-

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Demo.aspx.cs" Inherits="Demo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Wizard ID="Wizard1" runat="server" BackColor="#E6E2D8" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" Height="433px" Width="581px"> <HeaderStyle BackColor="#666666" BorderColor="#E6E2D8" BorderStyle="Solid" BorderWidth="2px" Font-Bold="True" Font-Size="0.9em" ForeColor="White" HorizontalAlign="Center" /> <NavigationButtonStyle BackColor="White" BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#1C5E55" /> <SideBarButtonStyle ForeColor="White" /> <SideBarStyle BackColor="#1C5E55" Font-Size="0.9em" VerticalAlign="Top" /> <StepStyle BackColor="#F7F6F3" BorderColor="#E6E2D8" BorderStyle="Solid" BorderWidth="2px" /> <WizardSteps> <asp:WizardStep runat="server" Title="Instructions"> Click next and start your exam!!! </asp:WizardStep> <asp:WizardStep ID="WizardStep1" runat="server" Title="Reasoning" OnActivate="wizard1"> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <table border=1> <tr> <td> <asp:Label ID="Label1" runat="server" Text="1"></asp:Label> </td> <td> <%#DataBinder.Eval(Container.DataItem,"Question") %> </td> </tr> <tr> <td></td> <td><asp:RadioButton ID="RadioButton1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Option1")%>' /></td> </tr> <tr> <td></td> <td><asp:RadioButton ID="RadioButton2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Option2")%>' /></td> </tr> <tr> <td></td> <td><asp:RadioButton ID="RadioButton3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Option3")%>' /></td> </tr> <tr> <td></td> <td><asp:RadioButton ID="RadioButton4" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Option4")%>' /></td> </tr> </ItemTemplate> </asp:Repeater> </asp:WizardStep> <asp:WizardStep ID="WizardStep2" runat="server" Title="Quantitative Aptitude"></asp:WizardStep> <asp:WizardStep runat="server" Title="English"> </asp:WizardStep> <asp:WizardStep runat="server" Title="Mathematics"> </asp:WizardStep> <asp:WizardStep runat="server" Title="Computer Concepts"> </asp:WizardStep> </WizardSteps> </asp:Wizard> </div> </form> </body> </html> 

不需要“受保護的void wizard1(Object sender,System.EventArgs e)”。將其刪除。

創建fill()方法並在該函數中綁定數據。

 public void fill()
    {
        SqlDataAdapter adp = new SqlDataAdapter("select top 10 Question,Option1,Option2,Option3,Option4 from Questions", con);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        Repeater1.DataSource = dt;
        Repeater1.DataBind();
    }

在Page_load添加條件中非常重要

        if (!IsPostBack)
        {
            fill();
        }

暫無
暫無

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

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