62,254
社区成员
发帖
与我相关
我的任务
分享
public class Questions
{
/// <summary>
/// ID
/// </summary>
public Guid ID { get; set; }
/// <summary>
/// 题目
/// </summary>
public string Question { get; set; }
/// <summary>
/// 题目组
/// </summary>
public string group { get; set; }
/// <summary>
/// 类型(单选,多选)
/// </summary>
public string Type { get; set; }
/// <summary>
/// 选项A
/// </summary>
public string OptionsA { get; set; }
/// <summary>
/// 选项B
/// </summary>
public string OptionsB { get; set; }
/// <summary>
/// 选项C
/// </summary>
public string OptionsC { get; set; }
}
public class DataSource
{
public List<Questions> GetDataSource()
{
List<Questions> listQS = new List<Questions>();
Questions qs = new Questions();
qs.ID = Guid.NewGuid();
qs.Question = "1+1=?";
qs.Type = "单选题";
qs.OptionsA = "1";
qs.OptionsB = "2";
qs.OptionsC = "3";
qs.group = "题目1";
listQS.Add(qs);
Questions qs1 = new Questions();
qs1.ID = Guid.NewGuid();
qs1.Question = "2*2=?";
qs1.Type = "单选题";
qs1.OptionsA = "2";
qs1.OptionsB = "4";
qs1.OptionsC = "6";
qs1.group = "题目2";
listQS.Add(qs1);
Questions qs2 = new Questions();
qs2.ID = Guid.NewGuid();
qs2.Question = "世界上分两种人";
qs2.Type = "多选题";
qs2.OptionsA = "男人";
qs2.OptionsB = "女人";
qs2.OptionsC = "变态";
qs2.group = "题目3";
listQS.Add(qs2);
Questions qs3 = new Questions();
qs3.ID = Guid.NewGuid();
qs3.Question = "世界上分10种人";
qs3.Type = "多选题";
qs3.OptionsA = "懂2进制的";
qs3.OptionsB = "不懂2进制的";
qs3.OptionsC = "你妹";
qs3.group = "题目4";
listQS.Add(qs3);
return listQS;
}
}
<div>
<%List<MvcApplication1.Models.Questions> Model = ViewData["Questions"] as List<MvcApplication1.Models.Questions>; %>
<%Html.BeginForm("GetAnswers", "Test", FormMethod.Post);
{ %>
<% if (Model != null)
foreach (var item in Model)
{ %>
<fieldset>
<p style="font-family: 黑体; font-size: x-large">
<%= Html.Encode(item.Type)%>
</p>
<p>
题目内容:
<%= Html.Encode(item.Question)%>
</p>
<%if (item.Type == "问答题")
{%>
<p>
<label for="Question">
请作答:</label>
<%= Html.TextArea("Answer", new { cols = 40, rows = 8 })%>
<%= Html.ValidationMessage("Answer")%>
</p>
<%} %>
<%if (item.Type == "单选题")
{%>
<%if (!String.IsNullOrEmpty(item.OptionsA))
{%>
<p>
A:<%= Html.Encode(item.OptionsA)%>
<%=Html.RadioButton(item.group, "A")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsB))
{%>
<p>
B:<%= Html.Encode(item.OptionsB)%>
<%=Html.RadioButton(item.group, "B")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsC))
{%>
<p>
C:<%= Html.Encode(item.OptionsC)%>
<%=Html.RadioButton(item.group, "C")%>
</p>
<%} %>
<%} %>
<%if (item.Type == "多选题")
{%>
<%if (!String.IsNullOrEmpty(item.OptionsA))
{%>
<p>
A:<%= Html.Encode(item.OptionsA)%>
<%=Html.CheckBox(item.group+"A")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsB))
{%>
<p>
B:<%= Html.Encode(item.OptionsB)%>
<%=Html.CheckBox(item.group + "B")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsC))
{%>
<p>
C:<%= Html.Encode(item.OptionsC)%>
<%=Html.CheckBox(item.group + "C")%>
</p>
<%} %>
<%} %>
<br />
</fieldset>
<% } %>
<p>
<input name="confirmButton" type="submit" value="提交答案" />
</p>
<%} %>
</div>
public class TestController : Controller
{
/// <summary>
/// 题目View
/// </summary>
/// <returns></returns>
public ActionResult QuestionTest()
{
ViewData["Questions"] = new DataSource().GetDataSource();
return View();
}
/// <summary>
/// 提交的Action
/// </summary>
/// <returns></returns>
[AcceptVerbs(HttpVerbs.Post), ActionName("GetAnswers")]
public ActionResult GetAnswers()
{
string strResult = Server.UrlDecode(Request.Form.ToString());
return View();
}
}
dictionary<Guid,string> answerList=new dictionary<Guid,string>();
List<MvcApplication1.Models.Questions> Model = ViewData["Questions"] as List<MvcApplication1.Models.Questions>;
foreach(MvcApplication1.Models.Questions item in Model)
{
if (item.Type == "问答题")
{
answerList.Add(item.ID,Request.Form["Answer"]);
}
if(item.Type == "单选题")
{
answerList.Add(item.ID,Request.Form[item.group]);
}
if(item.Type == "多选题")
{
List<string> chks=new List<string>();
//先判断是否选中
chks.Add(Request.Form[item.group+"A"]);
chks.Add(Request.Form[item.group+"B"]);
chks.Add(Request.Form[item.group+"C"]);
answerList.Add(item.ID,string.Join(",",chks.ToArray()));
}
}
FormCollection collection,用FormCollection 来取得页面上的值,或者可以直接使用Request.Form[变量名]如Request.Form["id"]来取得提交的页面上的值。
<div>
<%List<Question.Models.QuesModel> Model = TempData["Questions"] as List<Question.Models.QuesModel>; %>
<%Html.BeginForm("Answer", "Home", FormMethod.Post);
{ %>
<% if (Model != null)
foreach (var item in Model)
{ %>
<fieldset>
<p style="font-family: 黑体; font-size: x-large">
<%= Html.Encode(item.Type)%>
</p>
<p>
题目内容:
<%= Html.Encode(item.Question)%>
</p>
<%if (item.Type == "问答题")
{%>
<p>
<label for="Question">
请作答:</label>
<%= Html.TextArea(item.ID.ToString(), new { cols = 40, rows = 8 })%>
<%= Html.ValidationMessage(item.ID.ToString())%>
</p>
<%} %>
<%if (item.Type == "单选题")
{%>
<%if (!String.IsNullOrEmpty(item.OptionsA))
{%>
<p>
A:<%= Html.Encode(item.OptionsA)%>
<%=Html.RadioButton(item.group, "A")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsB))
{%>
<p>
B:<%= Html.Encode(item.OptionsB)%>
<%=Html.RadioButton(item.group, "B")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsC))
{%>
<p>
C:<%= Html.Encode(item.OptionsC)%>
<%=Html.RadioButton(item.group, "C")%>
</p>
<%} %>
<%} %>
<%if (item.Type == "多选题")
{%>
<%if (!String.IsNullOrEmpty(item.OptionsA))
{%>
<p>
A:<%= Html.Encode(item.OptionsA)%>
<%=Html.CheckBox(item.group+"A")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsB))
{%>
<p>
B:<%= Html.Encode(item.OptionsB)%>
<%=Html.CheckBox(item.group + "B")%>
</p>
<%} %>
<%if (!String.IsNullOrEmpty(item.OptionsC))
{%>
<p>
C:<%= Html.Encode(item.OptionsC)%>
<%=Html.CheckBox(item.group + "C")%>
</p>
<%} %>
<%} %>
<br />
</fieldset>
<% } %>
<p>
<input name="confirmButton" type="submit" value="提交答案" />
</p>
<%} %>
</div>
public ActionResult Question()
{
List<QuesModel> listQS = new List<QuesModel>();
QuesModel qs = new QuesModel();
qs.ID = Guid.NewGuid();
qs.Question = "1+1=?";
qs.Type = "单选题";
qs.OptionsA = "1";
qs.OptionsB = "2";
qs.OptionsC = "3";
qs.group = "题目1";
listQS.Add(qs);
QuesModel qs1 = new QuesModel();
qs1.ID = Guid.NewGuid();
qs1.Question = "2*2=?";
qs1.Type = "单选题";
qs1.OptionsA = "2";
qs1.OptionsB = "4";
qs1.OptionsC = "6";
qs1.group = "题目2";
listQS.Add(qs1);
QuesModel qs2 = new QuesModel();
qs2.ID = Guid.NewGuid();
qs2.Question = "世界上分两种人";
qs2.Type = "多选题";
qs2.OptionsA = "男人";
qs2.OptionsB = "女人";
qs2.OptionsC = "变态";
qs2.group = "题目3";
listQS.Add(qs2);
QuesModel qs3 = new QuesModel();
qs3.ID = Guid.NewGuid();
qs3.Question = "世界上分10种人";
qs3.Type = "多选题";
qs3.OptionsA = "懂2进制的";
qs3.OptionsB = "不懂2进制的";
qs3.OptionsC = "你妹";
qs3.group = "题目4";
listQS.Add(qs3);
TempData["Questions"] = listQS;
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Answer(FormCollection fc)
{
Dictionary<Guid, string> answerList = new Dictionary<Guid, string>();
List<QuesModel> ques = TempData["Questions"] as List<QuesModel>;
foreach (QuesModel item in ques)
{
if (item.Type == "问答题")
{
if (!string.IsNullOrEmpty(Request.Form[item.ID.ToString()]))
{
answerList.Add(item.ID, Request.Form[item.ID.ToString()]);
}
continue;
}
if (item.Type == "单选题")
{
if (!string.IsNullOrEmpty(Request.Form[item.group]))
{
answerList.Add(item.ID, Request.Form[item.group]);
}
continue;
}
if (item.Type == "多选题")
{
List<string> chks = new List<string>();
if (!string.IsNullOrEmpty(Request.Form[item.group + "A"]) && Request.Form[item.group + "A"].Contains("true"))
{
chks.Add("A");
}
if (!string.IsNullOrEmpty(Request.Form[item.group + "B"]) && Request.Form[item.group + "B"].Contains("true"))
{
chks.Add("B");
} if (!string.IsNullOrEmpty(Request.Form[item.group + "C"]) && Request.Form[item.group + "C"].Contains("true"))
{
chks.Add("C");
}
answerList.Add(item.ID, string.Join(",", chks.ToArray()));
continue;
}
}
return View();
}