我正在尝试将ID从页面传递到嵌入式partialView,我该如何传递?类似的东西?:
@Render.Partial("MyControl",@Model.ID)
如何在部分视图中阅读此ID?:
@model PartialViewModel
@myid = IdFromParent
答案 0 :(得分:7)
当您将变量作为第二个参数传递给Partial()
方法时,它将成为您调用的部分的模型。在这种情况下,您将ID作为整个模型传递,因此您只需使用@Model
来获取ID:
@*Page View*@
@model MyModel
...
@Render.Partial("MyControl",@Model.ID)
@* MyControl Partial View *@
@model int
@myid = @Model
如果要将PartialViewModel
类型传递给partial,则必须将其作为Parent ViewModel(第一个示例中的模型)的属性提供,或者通过ViewData或ViewBag容器提供。 / p>
答案 1 :(得分:2)
您可以像这样传递您的模型ID
@RenderPartial("Viewname", model.id)
但是如果你想发送多个参数,你可以这样做
@RenderPartial("Viewname", model.id,
new ViewDataDictionary { { "parameter", parametervalue } })
希望这能解决您的问题
答案 2 :(得分:0)
@Html.RenderPartial("ViewName", Model.Id)
或
@Html.Partial("ViewName", Model.Id)
答案 3 :(得分:0)
您必须将视图在其@model指令中接受的对象类型传递给视图。因此,如果要将int传递给局部视图,则@model指令必须声明一个int。
或者,您可以传递整个模型对象,其中包含id(当然),并从部分中读取该对象的id。
Model.id