将模型的名称从视图传递到动态局部视图

时间:2014-04-03 07:43:53

标签: asp.net-mvc asp.net-mvc-4 razor asp.net-mvc-partialview

转。如何将模型的名称从视图传递到动态局部视图 所以我可以在代码中使用它。

部分视图中的

(_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/" } }); %>

我尝试使用模型关键字,但显然这不起作用。 (空)

1 个答案:

答案 0 :(得分:0)

您可以使用'dynamic'关键字。以下是您应该设置的步骤。

1。控制器和模型

对于这个例子,我创建了一个类和一个动作/控制器。我将模型传递给视图“测试”

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);
}

2。主视图

我的主视图使用@Html.Partial呈现其局部视图。它还声明了它在该视图上接受的模型。

@using MvcApplication2.Controllers
@model SampleClass
<h2>title</h2>
@Html.Partial("MyPartial")

3。部分视图

部分视图可以有@model SampleClass,然后使用字段“Field1”,“Field2”等。但是,既然你提到了动态视图,你也可以使用动态关键字。

@using MvcApplication2.Controllers
@model dynamic
<h4>My partial view</h4>
@Model.Field2 @Model.Field1