4

使用 ASP.NET MVC 和 Spark,我有一个列出许多搜索的视图。该视图在顶部有以下声明:

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

在同一个搜索页面上,我还渲染了一个部分内容,该部分内容用作弹出窗口的内容,使用户能够添加新的搜索。

我的问题是:在局部视图中,我想使用强类型的 HTML 助手并编写:

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

但是当我添加另一个时:

<viewdata model="CreateSearchModel" />

在部分视图文件的顶部,Spark 失败,只能声明一个视图数据模型。

我可以使用普通的 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 回答