4

ASP.NET MVCとSparkを使用して、いくつかの検索を一覧表示しているビューがあります。ビューの上部には次の宣言があります。

<viewdata model="IEnumerable<SearchModel>" />

同じ検索ページで、ユーザーが新しい検索を追加できるポップアップウィンドウのコンテンツとして使用されるパーシャルもレンダリングします。

私の問題は次のとおりです。部分ビューで、強く型付けされたHTMLヘルパーを利用して次のように記述します。

${Html.TextBoxFor(model => model.SearchPhrase)}

しかし、私が別のものを追加すると:

<viewdata model="CreateSearchModel" />

部分ビューファイルの先頭で、Sparkが失敗します。宣言できるviewdataモデルは1つだけです。

通常のHTMLヘルパーを使用できますが、この部分ビューで強く型付けされたHTMLヘルパーを使用する利点をどのように得ることができますか?またはこれを行うための完全に優れた方法はありますか?

4

2 に答える 2

8

<use file="partial"/> の代わりに試してみてください

# Html.RenderPartial("partial", mydata);

これにより、単一モデルの制限を回避できます。

于 2010-01-11T14:45:56.333 に答える
0

部分ビューのヘッダーを次のようにできませんか:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CreateSearchModel>" %>

と使用

<% Html.RenderPartial("../PartialView", (CreateSearchModel)ViewData["MyCreateSearchModel"] ); %>
于 2010-01-11T14:47:53.240 に答える