![](/img/trans.png)
[英]How to get checked radio button and how to control only one radio button selected in list view
[英]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.