2

コレクションを MVC 2 部分ビューに渡すにはどうすればよいですか? 彼らが構文を使用した例を見ました。

<% Html.RenderPartial("QuestionPartial", question); %>

これは 1 つの質問オブジェクトのみを渡します。

いくつかの質問を部分ビューに渡したい場合、たとえば、それらを一覧表示したい場合はどうでしょうか。

いくつかの質問を渡すにはどうすればよいですか?

4

3 に答える 3

1

部分ビューは通常、他の (メイン) ビューに配置されるため、メイン ビューを次のような複合 ViewData オブジェクトに厳密に型指定する必要があります。

public class MyViewData
{
    public string Interviewee { get; set }
    // Other fields here...
    public Question[] questions { get; set }
}

コントローラーで:

var viewData = new MyViewData;
// Populate viewData object with data here.

return View(myViewData);

そしてあなたの見解では:

<% Html.RenderPartial("QuestionPartial", Model.questions); %>

次に、部分ビューでtvanfosson のアドバイスを使用します。

于 2010-05-05T22:18:56.127 に答える
0

を渡す代わりにquestion、たとえば質問のコレクションを渡してはList<QuestionType>どうでしょうか?

于 2010-05-05T22:20:38.687 に答える
0

通常、IEnumerable<Question>ビュー モデルにはプロパティとして がありますが、実際には Question オブジェクトのリストまたは配列である可能性があります。パーシャルで使用するには、ビュー モデルのそのプロパティをモデルとしてパーシャルに渡すだけです。IEnumerable<Question>をモデルとして受け入れるには、パーシャルを強く型付けする必要があります。

 <% Html.RenderPartial("QuestionPartial", Model.Questions ); %>

部分的:

<%@ Page Language="C#"
         MasterPageFile="~/Views/Shared/Site.Master"
         Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Question>>" %>
于 2010-05-05T22:22:12.987 に答える