weixin_32712737 2017-07-10 07:39 采纳率: 0%
浏览 482
已结题

C# MVC单选之后传值问题

我现在帮一个在线自动打分的程序,model
using BrnMall.Core;
using BrnMall.Services;
using BrnMall.Web.Framework;

namespace BrnMall.Web.MallAdmin.Models
{
public class ExamModel
{

    public int classID { get; set; }


    /// <summary>
    /// 描述
    /// </summary>
    public string Name { get; set; }
    public DateTime CreateDate { get; set; }
    public string url { get; set; }
    public int ecount { get; set; }
}

public class ExamListModel
{

    public PageModel PageModel { get; set; }
    /// <summary>
    /// 广告位置列表
    /// </summary>
    public List<ExamInfo> ExamList { get; set; }
}
public class ExamshowListModel
{
    public PageModel pageModel;
    public int classID { get; set; }
    public int Id { get; set; }

    public List<AnswerInfo> showanlist { get; set; } //回答问题的列表
    /// <summary>
    /// 描述
    /// </summary>
    public string Name { get; set; }

    public string url { get; set; }
    public int ecount { get; set; }
    public List<ExercisesInfo> ExercisesList { get; set; }//题目列表

}

}
View
@model BrnMall.Web.MallAdmin.Models.ExamshowListModel

@section header{

进入查看详情


<script type="text/javascript" src="/admin_mall/scripts/jquery.validate.js"></script>
<script type="text/javascript" src="/admin_mall/scripts/jquery.validate.unobtrusive.js"></script>

}

@section body{

>>

@using (Html.BeginForm())
{
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.classID)
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.ecount)

@for (int i = 0; i m.ExercisesList[i].id) @Html.HiddenFor(m => m.showanlist[i].Id) if (info.type == 1) { //单选 @Html.ValidationMessageFor(m => m.showanlist[i]) @Html.HiddenFor(m => m.showanlist[i]) } else if (info.type == 2) {//多选 } else if (info.type == 3) {//判断 } else if (info.type == 4) {//简答 } } @Html.HiddenFor(m => m.showanlist) @Html.HiddenFor(m => m.ExercisesList)
题目: @Html.TextBoxFor(x => x.Name, new { @class = "input", size = "35" })@Html.ValidationMessageFor(x => x.Name)
题目: @info.title
A: @Html.RadioButtonFor(m => m.showanlist[i].A, Model.showanlist[i].Id, new { @id = Model.showanlist[i].Id.ToString(), @name = Model.showanlist[i].Name.ToString() }) @Html.ValidationMessageFor(m => m.showanlist[i].A) @Model.ExercisesList[i].A
B: @Html.RadioButtonFor(m => m.showanlist[i].A, aninfo.Id, new { @id = aninfo.Id.ToString(), @name = aninfo.Name.ToString() }) @Html.ValidationMessageFor(m => m.showanlist[i].A)@Model.ExercisesList[i].B
C: @Html.RadioButtonFor(m => m.showanlist[i].A, aninfo.Id, new { @id = aninfo.Id.ToString(), @name = aninfo.Name.ToString() }) @Html.ValidationMessageFor(m => m.showanlist[i].A)@Model.ExercisesList[i].C
D: @Html.RadioButtonFor(m => m.showanlist[i].A, aninfo.Id, new { @id = aninfo.Id.ToString(), @name = aninfo.Name.ToString() }) @Html.ValidationMessageFor(m => m.showanlist[i].A)@Model.ExercisesList[i].D
A: @info.A
B: @info.B
C: @info.C
D: @info.D
A: @info.A
B: @info.B
A: @info.A
  提交 $(function () { $("#sumbitBut").click(function () { $("form:first").submit(); return false; }) });
   
}

}

Controller
[HttpGet]
public ActionResult Edit(int storeRid = -1)
{
ExamInfo storeRankInfo = Exam.GetExamById(storeRid);
if (storeRankInfo == null)
return PromptView("试题不存在");
string url = storeRankInfo.url;
DataTable dt1 = new DataTable();
dt1.ReadXml(url);

        //////////取出URL
        ////////URL生成题


        ExamshowListModel model = new ExamshowListModel();
        model.classID = storeRankInfo.classID;
        model.Id = storeRankInfo.Id;
        model.ecount = storeRankInfo.ecount;
        List<ExercisesInfo> infolist=new List<ExercisesInfo>();
        List<AnswerInfo> anlist = new List<AnswerInfo>();
        foreach (DataRow row in dt1.Rows) {
            ExercisesInfo info = new ExercisesInfo();
            AnswerInfo aninfo = new AnswerInfo();
            info.id = TypeHelper.ObjectToInt(row["Id"]);
            info.type = TypeHelper.ObjectToInt(row["type"]);
            info.title=row["title"].ToString();
            info.A = row["A"].ToString();
            info.B = row["B"].ToString();
            info.C = row["C"].ToString();
            info.D = row["D"].ToString();
            info.answer = row["answer"].ToString();
            aninfo.Id = info.id;
            aninfo.Name = "N"+info.id.ToString();
            infolist.Add(info);
            anlist.Add(aninfo);
        }
        model.ExercisesList = infolist;
        model.showanlist = anlist;
        Load();
        return View(model);
    }

接受函数
public ActionResult Edit(ExamshowListModel model, int storeRid = -1)
{

        int id = model.Id;

//这里的 model.showanlist.Count为0,无法收到结果。
for (int i = 0; i <= model.showanlist.Count-1;i++ ){
string s=model.showanlist[i].A;

        }


        Load();
        return View(model);
    }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集