我有一个用户为指定问题提供的答案模型。问题字段被动态传递给答案模型并在答案视图上逐一生成。 在我的问题模型中,用户可以创建每个问题的页面和顺序。 这是答案和问题的模型: 问题:
[Key]
public int QuestionId { get; set; }
public string Title { get; set; }
public string Order { get; set; }
public string Page { get; set; }
答案:
[Key]
public int AnswerId { get; set; }
public int QuestionId { get; set; }
public string Answer { get; set; }
这就是我向用户展示每个问题并获得答案的方法:
@model IEnumerable<A.Models.Question>
@using (Html.BeginForm("Set", "AddAnswer"))
{
@Html.ValidationSummary(true)
@{
int cnt = 0;
foreach (A.Models.Question item in Model)
{
<label>@item.Title</label>
<textarea id="B_@cnt" name="a_@item.QuestionId" data-val="true" data-val-length=""100"><textarea>
cnt++;
}
和我的控制器:
public ViewResult Index()
{
return View(context.AddAnswer.ToList());
}
public ActionResult Set(FormCollection fc)
{
AContext db = new AContext();
var Answer = fc.AllKeys
.Where(k => k.StartsWith("a_"))
.ToDictionary(k => k, k => fc[k]);
.....
}
现在终于问我了:
1 - 是否可以根据问题信息显示分页视图。喜欢Page =“必须显示问题的页面”和order =“指定页面上的问题顺序”? 2 - 在上面的方法上显示pagedlist时是否可以避免回发?比如当我们在2页有10个问题的时候,我们回答1页然后去第2个和...并且在finall页面我们立刻将它们发送回控制器。此外,我们还能够在页面中来回导航并获得答案。
谢谢:)