但是在使用@ Html.HiddenFor()等
时我无法访问它们如果我使用@ Html.Hidden()或任何没有....的方法,这些项目是可见的。对于方法...
任何想法我该怎么做
这是我的课程
public class QuestionModel
{
public int Id { get; set; }
public string QuestDes { get; set; }
public int Aspect { get; set; }
}
public class AnswerModel
{
public int Id { get; set; }
public string SelectedAns { get; set; }
public virtual QuestionModel Question { get; set; }
public virtual PersonModel Person { get; set; }
}
我的控制器代码
public ActionResult GPage2()
{
var tview = new Tuple<List<QuestionModel>,AnswerModel>(getQuestions(),new AnswerModel());
return View(tview);
}
private List<QuestionModel> getQuestions()
{
var qList = (from q in dbcon.Questions
orderby q.Id
select q).ToList();
return qList;
}
在cshtml页面
@model Tuple<List<QuestionModel>,AnswerModel>
<td> @Html.Label(Model.Item2.SelectedAns)</td>
@Html.LabelFor(.......................) not working
答案 0 :(得分:1)
根据您发布的内容,您需要使用包含2个模型的视图模型
public class ViewModel{
public List<QuestionModel> Questions { get; set; }
public List<AnswerModel> Answers { get; set; }
}
然后在你的观点
@model ViewModel
使用此设置您的帮助应该工作。因为它是一个将它们放在foreach中的列表看起来像这样。
@foreach(var temp in Model.Questions){
@Html.LabelFor(x => temp.Aspect)
//etc
}