转。如何将模型的名称从视图传递到动态局部视图 所以我可以在代码中使用它。
部分视图中的(_gridView)
<%=Html.Grid<type1>("MyDynamicGrid")
.Caption("My dynamic JqGrid")
.DataUrl(dataURL)
.ImagePath("/Content/JqGridThemes/steel/images")
.AutoWidth(true)
.ColumnWidth(80)
.SortOrder(jqGridMVC2.Extensions.SortDirection.Desc)
.RowsPerPage(5)
.SortName("Id")
.RowList(new List<int>(){5,10,20,30})
%>
在索引视图
中 <% Html.RenderPartial("_GridView", new ViewDataDictionary(ViewData) { { "Name",Model }, { "Name2", "/Home/DynamicGridData/" } }); %>
我尝试使用模型关键字,但显然这不起作用。 (空)
答案 0 :(得分:0)
您可以使用'dynamic'关键字。以下是您应该设置的步骤。
对于这个例子,我创建了一个类和一个动作/控制器。我将模型传递给视图“测试”
public class SampleClass
{
public int Field1 = 1;
public string Field2 = "Hello";
public string Field3 = "World";
}
public ActionResult Test()
{
var c = new SampleClass();
return View(c);
}
我的主视图使用@Html.Partial
呈现其局部视图。它还声明了它在该视图上接受的模型。
@using MvcApplication2.Controllers
@model SampleClass
<h2>title</h2>
@Html.Partial("MyPartial")
部分视图可以有@model SampleClass
,然后使用字段“Field1”,“Field2”等。但是,既然你提到了动态视图,你也可以使用动态关键字。
@using MvcApplication2.Controllers
@model dynamic
<h4>My partial view</h4>
@Model.Field2 @Model.Field1