Je suis en train d'implémenter une application Web de type portail de quiz.La valeur de la variable globale ne persiste pas lors de la publication de la page dans asp.net
La première question est extraite de db. en cliquant sur le bouton suivant, la question suivante va bien. Maintenant encore en cliquant sur suivant ou bouton rien ne se passe!
Concept utilisé - fait une variable globale qui sera égale à la question actuelle no. à partir de ma table de questions, incrémenter/décrémenter la variable sur les clics suivant/précédent
pourquoi cette approche ne fonctionne pas! quel code devrais-je changer dans Page_Load ou ailleurs où?
Note:
modèle 1.disconnected utilisé
2.countdown minuterie fonctionne bien sur postbacks, aucun problème.
Les images attachées ..
2.Sur page par défaut (ques1) et sur cliquant sur le bouton suivant (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;
}
}
}
s'il vous plaît aider les gars! collé sur ce ..
Cochez ma réponse et dites-moi si cela vous a aidé – mybirthname