使用ASP.NET MVC& Spark,我有一个列出了许多搜索的视图。该视图顶部有以下声明:
<viewdata model="IEnumerable<SearchModel>" />
在同一个搜索页面上,我还渲染了一个部分,用作弹出窗口的内容,使用户可以添加新搜索。
我的问题是:在局部视图中我想使用强类型HTML帮助器并写:
${Html.TextBoxFor(model => model.SearchPhrase)}
但是当我添加另一个时:
<viewdata model="CreateSearchModel" />
在部分视图文件的顶部,Spark失败,只能声明一个viewdata模型。
我可以使用普通的HTML助手,但是如何在这个局部视图中获得使用强类型HTML助手的好处 - 或者有更好的方法吗?
答案 0 :(得分:8)
而不是&lt; use file =“partial”/&gt;尝试做
# Html.RenderPartial("partial", mydata);
这应解决单一模型限制。
答案 1 :(得分:0)
你不能让你的部分视图标题为:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CreateSearchModel>" %>
并使用
<% Html.RenderPartial("../PartialView", (CreateSearchModel)ViewData["MyCreateSearchModel"] ); %>