0

我想从使用局部视图的视图向局部视图发送一个字符串参数。

示例:我希望能够从视图中创建对局部视图的调用并将创建的字符串发送到局部视图中。

我可以这样做吗?

4

2 回答 2

2

如果我理解正确,您所说的是您希望能够将参数从视图传递到内部的局部视图?

是的你可以。

你可以简单地打电话

@{Html.RenderAction("ActionMethodName",new {parameterName = value})}

或者,如果您需要对传入的变量进行额外处理,可以通过操作方法将其传递。

1)创建您的视图(为了示例,我们将其称为“用户”)

2)创建一个部分视图(我们将其称为“_UserInfo”作为相同的示例)

3) 创建一个 Action 方法,它将“_userInfo”部分视图返回到您的父用户视图以及您要将字符串传递到的位置:

public PartialViewResult UserInfo(string userName)
{
 return PartialView("_UserInfo",userName);
}

4)所以现在,为了传递一个字符串,你可以简单地将它添加到你的主视图中:@Model User

@{Html.RenderAction("UserInfo","ControllerName",new {userName=Model.UserName}} //Note that the parameter name has to match with the parameter name you're receiving at the Action Method (UserInfo method above ). It has to be reflected in routing as well.

ps 这个问题之前被问过很多次了。例如看下面的问题: 将参数传递给我的局部视图?

于 2012-11-29T18:07:25.493 回答
1

通过调用返回局部视图的操作来呈现局部视图

@Html.RenderAction("actionName", "controllerName", new {parameterName= value});
于 2012-11-29T18:07:16.210 回答