To check if radiobutton option selected or not and storing that value in database
RadioButton rdo;
string u_ans = "";
public void store_choice()
{
try
{
Label llb = (Label)DetailsView1.FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.FindControl("DetailsView2");
if (((RadioButton)f1.FindControl("RadioButton1")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton1");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton2")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton2");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton3")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton3");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton4")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton4");
u_ans = rdo.Text;
}
else
{
u_ans = "Not Attempt";
}
dl.question_no = Convert.ToInt16(llb.Text);
dl.exam_id = Convert.ToInt16(lblid.Text);
dl.stu_id = Convert.ToInt16(Session["Stu_id"]);
dl.answer = u_ans;
bl.stu_exams(dl);
}
catch (Exception)
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"ServerControlScript", "alert('Login First')", true);
}
}
keep radio button selected when page changes in detailsview
protected void setQ()
{
Label llb = (Label)DetailsView1.FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.FindControl("DetailsView2");
RadioButton rd1 = (RadioButton)f1.FindControl("RadioButton1");
RadioButton rd2 = (RadioButton)f1.FindControl("RadioButton2");
RadioButton rd3 = (RadioButton)f1.FindControl("RadioButton3");
RadioButton rd4 = (RadioButton)f1.FindControl("RadioButton4");
dl.question_no = Convert.ToInt16(llb.Text);
dl.stu_id = Convert.ToInt16(Session["Stu_id"]);
string tmp = "";
con.Open();
cmd = new SqlCommand("user_ans", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Question_no", dl.question_no);
cmd.Parameters.AddWithValue("@Stu_id", dl.stu_id);
SqlDataReader dr = cmd.ExecuteReader();
// dr = bl.user_ans(dl);
while (dr.Read())
{
tmp = dr[0].ToString();
}
dr.Close();
if (tmp != "")
ViewState["answer"] = tmp;
if (rd1.Text == tmp)
{
rd1.Checked = true;
}
else if (rd2.Text == tmp)
{
rd2.Checked = true;
}
else if (rd3.Text == tmp)
{
rd3.Checked = true;
}
else if (rd4.Text == tmp)
{
rd4.Checked = true;
}
else { }
}
bind detailsview within another detailsview
public void bind_detailsview_within_detailsview()
{
for (int i = 0; i < DetailsView1.Rows.Count; i++)
{
Label l1 = (Label)DetailsView1.Rows[i].FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.Rows[i].FindControl("DetailsView2");
dl.question_no = Convert.ToInt16(l1.Text);
f1.DataSource = bl.select_choice_stu(dl);
f1.DataBind();
}
}
move to previous question in detailsview
protected void btnprev_Click(object sender, EventArgs e)
{
store_choice();
DetailsView1.PageIndex = DetailsView1.DataItemIndex - 1;
ViewState["count"] = int.Parse(ViewState["count"].ToString()) - 1;
bind_form();
bind_form_choice();
setQ();
}
move to next question in detailsview
protected void btnnext_Click(object sender, EventArgs e)
{
ViewState["count"] = int.Parse(ViewState["count"].ToString()) + 1;
int itm = int.Parse(ViewState["count"].ToString());
store_choice();
bind_form();
bind_form_choice();
setQ();
DetailsView1.PageIndex = DetailsView1.DataItemIndex + 1;
// Button btnNext = (Button)DetailsView1.FooterRow.FindControl("tnnext");
}
ASPX to bind detailsview
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
BorderStyle="Dashed" BorderWidth="2px" CellPadding="8" CellSpacing="8"
GridLines="None" Height="100%"
onpageindexchanging="DetailsView1_PageIndexChanging" style="margin-left:50px"
Width="70%">
<Fields>
<asp:BoundField DataField="Question_id" HeaderText="ID" Visible="False" />
<asp:TemplateField HeaderText="Question no">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Question_no") %>'
Visible="False"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<br />
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Question_text") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False"
GridLines="None" Height="100%" Width="100%">
<Fields>
<asp:TemplateField>
<ItemTemplate>
<br />
<asp:RadioButton ID="RadioButton1" runat="server"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_1") %>' />
<asp:RadioButton ID="RadioButton2" runat="server" CssClass="qno"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_2") %>' />
<br />
<br />
<br />
<asp:RadioButton ID="RadioButton3" runat="server"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_3") %>' />
<asp:RadioButton ID="RadioButton4" runat="server" CssClass="qno"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_4") %>' />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<br />
<br />
<br />
<asp:Button ID="btnprev" runat="server" CssClass="padd" Height="28px"
onclick="btnprev_Click" style="background-color:rgb(9, 16, 198);color:White"
Text="Prev" Width="70px" />
</HeaderTemplate>
<ItemTemplate>
<br />
<br />
<br />
<asp:Button ID="tnnext" runat="server" CssClass="chkbtn" Height="28px"
onclick="tnnext_Click" style="background-color:rgb(9, 16, 198);color:White"
Text="Next" Width="70px" />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
RadioButton rdo;
string u_ans = "";
public void store_choice()
{
try
{
Label llb = (Label)DetailsView1.FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.FindControl("DetailsView2");
if (((RadioButton)f1.FindControl("RadioButton1")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton1");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton2")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton2");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton3")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton3");
u_ans = rdo.Text;
}
else if (((RadioButton)f1.FindControl("RadioButton4")).Checked == true)
{
rdo = (RadioButton)f1.FindControl("RadioButton4");
u_ans = rdo.Text;
}
else
{
u_ans = "Not Attempt";
}
dl.question_no = Convert.ToInt16(llb.Text);
dl.exam_id = Convert.ToInt16(lblid.Text);
dl.stu_id = Convert.ToInt16(Session["Stu_id"]);
dl.answer = u_ans;
bl.stu_exams(dl);
}
catch (Exception)
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"ServerControlScript", "alert('Login First')", true);
}
}
keep radio button selected when page changes in detailsview
protected void setQ()
{
Label llb = (Label)DetailsView1.FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.FindControl("DetailsView2");
RadioButton rd1 = (RadioButton)f1.FindControl("RadioButton1");
RadioButton rd2 = (RadioButton)f1.FindControl("RadioButton2");
RadioButton rd3 = (RadioButton)f1.FindControl("RadioButton3");
RadioButton rd4 = (RadioButton)f1.FindControl("RadioButton4");
dl.question_no = Convert.ToInt16(llb.Text);
dl.stu_id = Convert.ToInt16(Session["Stu_id"]);
string tmp = "";
con.Open();
cmd = new SqlCommand("user_ans", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Question_no", dl.question_no);
cmd.Parameters.AddWithValue("@Stu_id", dl.stu_id);
SqlDataReader dr = cmd.ExecuteReader();
// dr = bl.user_ans(dl);
while (dr.Read())
{
tmp = dr[0].ToString();
}
dr.Close();
if (tmp != "")
ViewState["answer"] = tmp;
if (rd1.Text == tmp)
{
rd1.Checked = true;
}
else if (rd2.Text == tmp)
{
rd2.Checked = true;
}
else if (rd3.Text == tmp)
{
rd3.Checked = true;
}
else if (rd4.Text == tmp)
{
rd4.Checked = true;
}
else { }
}
bind detailsview within another detailsview
public void bind_detailsview_within_detailsview()
{
for (int i = 0; i < DetailsView1.Rows.Count; i++)
{
Label l1 = (Label)DetailsView1.Rows[i].FindControl("lblq");
DetailsView f1 = (DetailsView)DetailsView1.Rows[i].FindControl("DetailsView2");
dl.question_no = Convert.ToInt16(l1.Text);
f1.DataSource = bl.select_choice_stu(dl);
f1.DataBind();
}
}
move to previous question in detailsview
protected void btnprev_Click(object sender, EventArgs e)
{
store_choice();
DetailsView1.PageIndex = DetailsView1.DataItemIndex - 1;
ViewState["count"] = int.Parse(ViewState["count"].ToString()) - 1;
bind_form();
bind_form_choice();
setQ();
}
move to next question in detailsview
protected void btnnext_Click(object sender, EventArgs e)
{
ViewState["count"] = int.Parse(ViewState["count"].ToString()) + 1;
int itm = int.Parse(ViewState["count"].ToString());
store_choice();
bind_form();
bind_form_choice();
setQ();
DetailsView1.PageIndex = DetailsView1.DataItemIndex + 1;
// Button btnNext = (Button)DetailsView1.FooterRow.FindControl("tnnext");
}
ASPX to bind detailsview
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
BorderStyle="Dashed" BorderWidth="2px" CellPadding="8" CellSpacing="8"
GridLines="None" Height="100%"
onpageindexchanging="DetailsView1_PageIndexChanging" style="margin-left:50px"
Width="70%">
<Fields>
<asp:BoundField DataField="Question_id" HeaderText="ID" Visible="False" />
<asp:TemplateField HeaderText="Question no">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Question_no") %>'
Visible="False"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<br />
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Question_text") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False"
GridLines="None" Height="100%" Width="100%">
<Fields>
<asp:TemplateField>
<ItemTemplate>
<br />
<asp:RadioButton ID="RadioButton1" runat="server"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_1") %>' />
<asp:RadioButton ID="RadioButton2" runat="server" CssClass="qno"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_2") %>' />
<br />
<br />
<br />
<asp:RadioButton ID="RadioButton3" runat="server"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_3") %>' />
<asp:RadioButton ID="RadioButton4" runat="server" CssClass="qno"
GroupName='<%#Bind("Question_no") %>' Text='<%#Bind("Choice_4") %>' />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<br />
<br />
<br />
<asp:Button ID="btnprev" runat="server" CssClass="padd" Height="28px"
onclick="btnprev_Click" style="background-color:rgb(9, 16, 198);color:White"
Text="Prev" Width="70px" />
</HeaderTemplate>
<ItemTemplate>
<br />
<br />
<br />
<asp:Button ID="tnnext" runat="server" CssClass="chkbtn" Height="28px"
onclick="tnnext_Click" style="background-color:rgb(9, 16, 198);color:White"
Text="Next" Width="70px" />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>

