1

指定された質問に対してユーザーが提供した回答のモデルがあります。質問フィールドは動的に回答モデルに渡され、回答ビューで 1 つずつ生成されます。私の質問モデルでは、ユーザーは各質問のページと順序を作成できます。これは答えと質問のモデルです: 質問:

[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 ページ目に進み、最終ページですべての質問を一度にコントローラーに送り返します。さらに、ページを行ったり来たりする機能があり、そこに答えがあります。

ありがとう :)

4

0 に答える 0