How to display the questions with their answers

24 Jul

Hello ,

if you want to develop application like MCQ or Survey Conduct  Web Application Project then use below mention code and also i add complete project code . i search on that lot of time to how to implement & validation . i think this Article very helpful for you.

surveyimgClient Side:



<style type=”text/css”>
.questiontext {
background-color: #EEF6FF;
font-family: verdana;
font-size: 12px;
font-weight: bold;
padding: 0.5em 1em;
text-align: left;
.radioButtonList{ list-style-type: none;
margin: 0 0 0.5em 0.5em;
text-align: left;

.coa-button {
background-color: #9AC51D;
background-image: -moz-linear-gradient(center top , #9AC51D, #7C9F17);
border: 1px solid #759716;
border-radius: 3px 3px 3px 3px;
color: #FFFFFF;
display: block;
padding: 7px 0;
text-align: center;
text-decoration: none !important;
width: 189px;


:: Following  below  repeater code to show all Surveys


<asp:Repeater id=”Repeaterforselect” runat=”server”
onitemcommand=”Repeaterforselect_ItemCommand” >



<asp:LinkButton ID=”LinkButton1″ runat=”server” Text='<%#Eval(“title”)%>’ CommandName=”Click”

CommandArgument='<%# Eval(“id”)%>’ >






:: Following  below  DataList  code to show selected  Survey Question & option answer

<asp:DataList ID=”dtlQuestions” runat=”server” RepeatDirection=”Vertical” DataKeyField=”ID” OnItemDataBound=”dtlQuestions_ItemDataBound” Width=”630px”>
<div >
<asp:Label ID=”Label2″ Text='<%#(((DataListItem)Container).ItemIndex+1).ToString()%>’ Runat=”server”/>
<asp:Label ID=”q” runat=”server” Text='<%# Eval(“questions”) %>’ CssClass=”questiontext”></asp:Label> <asp:RequiredFieldValidator ID=”RequiredFieldValidator1″ runat=”server”
ErrorMessage=”Required” ForeColor=”Red” ControlToValidate=”dtlAnswers” ValidationGroup=”Bla”></asp:RequiredFieldValidator>
<asp:HiddenField ID=”hnQuestionsid” runat=”server” Value='<%# DataBinder.Eval(Container.DataItem, “Questionsid”)%>’ />
<br />
<asp:RadioButtonList ID=”dtlAnswers” runat=”server” ValidationGroup=”Bla” RepeatDirection=”Vertical” RepeatColumns=”1″ CssClass=”radioButtonList”>



:: Submit Button Handle with validation, without selection any question data not insert into database.


<asp:Button ID=”btnSubmit” runat=”server” onclick=”btnSubmit_Click”

ValidationGroup=”Bla” CssClass=”coa-button” Width=”100px” style=”float:right;margin-right:150px;” Visible=false
Text=”Submit”  />


Server Side:


string connectionString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ToString();
SqlConnection conn;
SqlCommand cmd = new SqlCommand();

////Load All Survey on Page Load

protected void Page_Load(object sender, EventArgs e)

conn = new SqlConnection(connectionString);

if (!Page.IsPostBack)

hdnsurveyformswomp.Value = “0”;



// Fill Repeater Control to All Survey

public void loadSurvey()

string connectionString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ToString();

DataSet ds = new DataSet();

ds = SqlHelper.ExecuteDataset(connectionString, System.Data.CommandType.StoredProcedure, “surveysselect”);
if (ds.Tables[0].Rows.Count > 0 && ds != null)
Repeaterforselect.DataSource = ds;


// At this Event we Load Question & option answer on Each Survey Click to fill datalist
protected void Repeaterforselect_ItemCommand(object source, RepeaterCommandEventArgs e)
switch (e.CommandName)
case “Click”:
//get command argument here
string id = e.CommandArgument.ToString();



// Load Question against Survey

public void   loadQuestion(string id)

string connectionString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ToString();

DataSet ds = new DataSet();

SqlParameter[] paramArray = new SqlParameter[] {
new SqlParameter(“@id”,Convert.ToInt32(id)),


ds = SqlHelper.ExecuteDataset(connectionString, System.Data.CommandType.StoredProcedure, “SurveyFormsWOMPretrive”, paramArray);
if (ds.Tables[0].Rows.Count > 0)

Label1.Text = ds.Tables[0].Rows[0][“title”].ToString();
hnSurveyid.Value = ds.Tables[0].Rows[0][“surveysid”].ToString();
dtlQuestions.DataSource = ds;
btnSubmit.Visible = true;

Label1.Text = “No Record Found”;
dtlQuestions.DataSource = null;
btnSubmit.Visible = false;



// Fill DataList RaiobuttonDropdownList against each Question

protected void dtlQuestions_ItemDataBound(object sender, DataListItemEventArgs e)

DataListItem drv = e.Item.DataItem as DataListItem;
RadioButtonList RadioButtonList1 = (RadioButtonList)e.Item.FindControl(“dtlAnswers”);
HiddenField hnQuestionsid = (HiddenField)e.Item.FindControl(“hnQuestionsid”);
DataSet ds = loadQuestionOptionbyqid(hnQuestionsid.Value);
if (ds != null && ds.Tables[0].Rows.Count > 0)
RadioButtonList1.DataSource = ds;
RadioButtonList1.DataTextField = “question_option”;
RadioButtonList1.DataValueField = “question_id”;


// Load Question Option in Radiobuttonlist

public DataSet loadQuestionOptionbyqid(string id)

string connectionString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ToString();

DataSet ds = new DataSet();

SqlParameter[] paramArray = new SqlParameter[] {
new SqlParameter(“@id”,Convert.ToInt32(id)),


return SqlHelper.ExecuteDataset(connectionString, System.Data.CommandType.StoredProcedure, “Surveyquestionchoisebyqstid”, paramArray);

/// Submit Selected Question to db

protected void btnSubmit_Click(object sender, EventArgs e)

//Data save
//  count = 0;
if (dtlQuestions.Items.Count > 0)
foreach (DataListItem li in dtlQuestions.Items)
RadioButtonList rdList = li.FindControl(“dtlAnswers”) as RadioButtonList;
HiddenField hnQuestionsid = (HiddenField)li.FindControl(“hnQuestionsid”);
foreach (ListItem answer in rdList.Items)
bool isSelected = answer.Selected; if (isSelected) { int slval = Convert.ToInt32(answer.Value); InsertSurveyData(Convert.ToInt32(hnSurveyid.Value), Convert.ToInt32(hnQuestionsid.Value), Convert.ToInt32(slval)); }



/// Insert Function


private void InsertSurveyData(int sid, int qid, int qoptid)
SqlCommand cmd = new SqlCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = “SubmitSurveyForminsert”;
//simple hiden field no repeater
cmd.Parameters.Add(“@Surveyid”, SqlDbType.Int).Value = sid;
cmd.Parameters.Add(“@Questionid”, SqlDbType.Int).Value = qid;
cmd.Parameters.Add(“@surveyQuestionOptionid”, SqlDbType.Int).Value = qoptid;

cmd.Connection = conn;





// Complete Application Code With database Script


Leave a comment

Posted by on July 24, 2013 in ASP Dot Net C#


Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: