コレクションを MVC 2 部分ビューに渡すにはどうすればよいですか? 彼らが構文を使用した例を見ました。
<% Html.RenderPartial("QuestionPartial", question); %>
これは 1 つの質問オブジェクトのみを渡します。
いくつかの質問を部分ビューに渡したい場合、たとえば、それらを一覧表示したい場合はどうでしょうか。
いくつかの質問を渡すにはどうすればよいですか?
コレクションを MVC 2 部分ビューに渡すにはどうすればよいですか? 彼らが構文を使用した例を見ました。
<% Html.RenderPartial("QuestionPartial", question); %>
これは 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 のアドバイスを使用します。
を渡す代わりにquestion
、たとえば質問のコレクションを渡してはList<QuestionType>
どうでしょうか?
通常、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>>" %>