如何为下一个&上一个按钮? [英] How to write code for next & previous button?

查看:89
本文介绍了如何为下一个&上一个按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用ASP.NET(C#)&SQL服务器.这是我的代码.我在实现下一个&的代码时遇到问题上一个按钮.请给我建议答案.谢谢.

I am developing an online exam system project using ASP.NET (C#) & SQL Sever. This is my code. I have a problem in implementing code for next & previous button. Please suggest me the answer. Thank you.

public partial class Default : Page
{
    int count;
    string ans;
    int[] a=new int[5];
    int t;
    int ctr;

    SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());
    SqlDataAdapter da = new SqlDataAdapter();
    SqlCommand cmd = new SqlCommand();
    DataSet ds = new DataSet();

    DateTime myDate;
    DataTable dt = new DataTable();
    DataRow dr;

    public void Show()
    {
        Session["Answered"] = dt;

        View v = this.View1;

        Label l = default(Label);
        l = (Label)v.FindControl("Label1");
        l.Text = dt.Rows[ctr]["Serial"] + ".";
        l = (Label)v.FindControl("Label2");
        l.Text = dt.Rows[ctr]["question"].ToString();

        RadioButtonList r = default(RadioButtonList);
        r = (RadioButtonList)v.FindControl("RadioButtonList1");
        r.Items.Clear();
        r.Items.Add(dt.Rows[ctr]["choice1"].ToString());
        r.Items.Add(dt.Rows[ctr]["choice2"].ToString());
        r.Items.Add(dt.Rows[ctr]["choice3"].ToString());
        r.Items.Add(dt.Rows[ctr]["choice4"].ToString());
        r.SelectedIndex = Convert.ToInt32(dt.Rows[ctr]["selected"]);

        Session["ctr"] = ctr;
    }
    protected void Timer1_Tick(object sender, System.EventArgs e)
    {
        DateTime mydate2 = DateTime.Now;
        DateTime mydate3 = default(DateTime);

        try
        {
            mydate3 = Convert.ToDateTime((myDate - mydate2).ToString());
            this.Label5.Text = "Time Left: " + mydate3.ToShortTimeString();
        }
        catch (Exception ex)
        {
            this.Label5.Text = "Error Setting up the Timer. Contact Admin";
        }

        if (mydate3.ToShortTimeString() == "00:00:00")
        {
            int marks = 0;
            Session["Answered"] = dt;

            Response.Redirect("default3.aspx?marks=" + marks);

        }
    }    
    protected void Page_Load(object sender, System.EventArgs e)
    {
        DateTime myDate = new DateTime();
        myDate =Convert.ToDateTime(Request.Cookies["start"].Value);

        if (!IsPostBack) {
            this.MultiView1.ActiveViewIndex = 0;
            conn.Open();
            cmd.Connection = conn;

            Random arbit = new Random();

            for (int i = 0; i <= a.GetUpperBound(0); i++) {
                t = arbit.Next(1, 10);

                if (Array.IndexOf(a, t) == -1) {
                    a[i] = t;

                } else {
                    goto X;
                }

            }

            for (int i = 0; i <= 4; i++) 
            {
                cmd.CommandText = "select * from test where Serial=" + a[i];
                da.SelectCommand = cmd;
                da.Fill(ds, "test");
            }

            conn.Close();

            dt = new DataTable("Answered");
            dt.Columns.Add("Serial", typeof(int));
            dt.Columns.Add("question", typeof(string));
            dt.Columns.Add("choice1", typeof(string));
            dt.Columns.Add("choice2", typeof(string));
            dt.Columns.Add("choice3", typeof(string));
            dt.Columns.Add("choice4", typeof(string));
            dt.Columns.Add("correct", typeof(string));
            dt.Columns.Add("selected", typeof(int));

            DataRow r = null;

            foreach (DataRow r_loopVariable in ds.Tables["test"].Rows) {
                r = r_loopVariable;
                dr = dt.NewRow();
                dr["Serial"] = dt.Rows.Count + 1;
                dr["question"] = r["question"];
                dr["choice1"] = r["choice1"];
                dr["choice2"] = r["choice2"];
                dr["choice3"] = r["choice3"];
                dr["choice4"] = r["choice4"];
                dr["correct"] = r["correct"];
                dr["selected"] = -1;
                dt.Rows.Add(dr);

            }    
            Session["Answered"] = dt;    
            Show();
        }

    }
    protected void btnNext_Click(object sender, EventArgs e)
    {
        Session["ctr"] = ctr;
        Session["Answered"] = dt;
        Session["ctr"] = ctr;
        ctr += 1;
        Show();
        if (ctr == 4)
        {
            this.btnNext.Enabled = false;
        }
        this.btnPrev.Enabled = true;    
    }    
    protected void btnPrev_Click(object sender, EventArgs e)
    {
        Session["ctr"] = ctr;
        Session["Answered"] = dt;
        ctr = ctr - 1;
        if (ctr == 0)
        {
            this.btnPrev.Enabled = false;
        }
        Session["ctr"] = ctr;
        this.btnNext.Enabled = true;
        Show();
    }        
    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    {
       RadioButtonList1.SelectedIndexChanged += new EventHandler(RadioButtonList1_SelectedIndexChanged);
        Session["Answered"] = dt;
    }
    protected void btnShowMarks_Click(object sender, EventArgs e)
    {
        int marks = 0;
        Session["Answered"] = dt;

        Response.Redirect("default3.aspx?marks=" + marks);
        Session["marks"] = dt;
        int []b=new int[6];
        foreach (int c in b)
        {
            RadioButtonList1.SelectedIndex.ToString();
        }
    }
}

推荐答案

我建议您使用向导控件.以下是一些示例:

I would suggest you to use the Wizard control. Here are some examples:

http://msdn.microsoft.com/en-us/magazine/cc163894.aspx

http://www.codeproject.com/KB/aspnet/Wizard_Control.aspx

这篇关于如何为下一个&amp;上一个按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆