1

如何将字符串发送到局部视图?

我想要的是将有关正在查看的模型的信息发送到局部视图。像这样的东西:

@{Html.RenderPartial("_PhaseCreate", new Phase(), @Model.Id );}

这可能吗?

4

1 回答 1

2

如果你想发送一些不在模型或视图中的数据,你应该使用类似下面的东西:

1) 代替@Html.Partial(), 使用@Html.Action("ActionName", "Controller", routeValues: new { id = Model.Id })助手。

2)在你的控制器中添加这样的东西:

public ActionResult GetMyView(int id)
{
    ViewBag.Phase = new Phase();
    ViewBag.Id = id;
    // also whatever which doesn't in model ...

    return View("_PhaseCreate");
}

在您的部分视图中,您可以像声明它们一样使用这些信息:

<label>@ViewBag.Id</label>

如果您只需要添加模型和视图中存在的数据,您也可以简单地使用以下内容:

@Html.Partial("_PhaseCreate", 
              new ViewDataDictionary(new { Phase = new Phase(), Id = Model.Id }))

并像这样使用它们:

<label>@ViewData["Id"].ToString()</label>
于 2013-08-08T09:03:11.157 回答