部分视图参数

时间:2012-11-29 17:58:32

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

我想从View中发送一个字符串参数,该参数使用部分视图到局部视图。

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

我能这样做吗?

2 个答案:

答案 0 :(得分:2)

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

是的,你可以。

您只需致电

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

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

1)创建你的视图(为了举例,我们称之为“用户”)

2)创建一个局部视图(为了示例,我们称之为“_UserInfo”)

3)创建一个Action方法,将“_userInfo”局部视图返回到您的父用户视图,并将字符串传递给:

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

4)现在,为了传递字符串,您只需将其添加到主视图中:     @Model用户

@{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.

P.S。之前曾多次询问过这个问题。例如,看一下以下问题: passing parameters to my partial view?

答案 1 :(得分:1)

通过调用返回部分视图的操作来渲染局部视图

@Html.RenderAction("actionName", "controllerName", new {parameterName= value});