Я использую веб-приложение типа портала викторины.Значение глобальной переменной не сохраняется на странице postback в asp.net
Первый вопрос - выбор из db. щелкнув дальше следующий кнопка, следующий вопрос получение хорошо. Теперь снова нажмите на следующий или предыдущий кнопка ничего не происходит!
Используемая концепция - сделана глобальная переменная, которая будет равна текущему вопросу №. из моей таблицы вопросов, приращение/декрементирующая переменная в следующих/предыдущих кликах
почему этот подход не работает! Какой код я должен изменить в Page_Load или где?
примечание:
1.disconnected модель используется
2.countdown таймер работает нормально на постбэков, не проблема.
Прикрепленные изображения ..
2.На страницы по умолчанию (ques1) и щелкать следующую кнопку (ques2) Q1. and Q2. combined image
public partial class quiz : System.Web.UI.Page
{
int qno=0; //global variable
DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["sname"] == null)
{
Response.Redirect("home.aspx");
}
string qpname = Request.QueryString["qpname"]; //question paper table name
//**some countdown timer code here**
SqlConnection conn = null;
conn = new SqlConnection();
conn.ConnectionString = "Data Source=xyz; Initial Catalog=xzyyzz;Integrated Security=True;";
String queryString = "select * from " + qpname + "";
SqlCommand cmd = new SqlCommand(queryString, conn);
SqlDataAdapter ad = new SqlDataAdapter(queryString, conn);
dt = new DataTable();
ad.Fill(dt);
foreach (DataRow row in dt.Rows)
{
Label6.Text = row["marks"].ToString(); //for marks of current ques.
Label7.Text = row["ques"].ToString(); //for ques.
qno = (int)row["qno"]; //ques no.
qno = qno + 1; //
break;
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
//some timer code here
}
public class CountDownTimer
{
//some timer code here
}
protected void submit_Click(object sender, EventArgs e)
{
Response.Redirect("student.aspx"); //redirect on submit
}
protected void prev_Click(object sender, EventArgs e) //prev button
{
display_ques(-1);
}
protected void next_Click(object sender, EventArgs e) //next button
{
display_ques(1);
}
public void display_ques(int direction)
{
DataRow[] result = dt.Select(" qno = " +qno+ ""); //for current ques no.
foreach (DataRow row in result)
{
Label6.Text = row["marks"].ToString();
Label7.Text = row["ques"].ToString();
if (direction == 1)
qno=qno+1;
else
qno=qno-1;
break;
}
}
}
пожалуйста, помогите ребята! застрял на этом ..
Проверьте мой ответ и скажите, помогли ли вы – mybirthname