Asp.net mvc 3 有人能解释一下这些代码行吗?
我正在修复一些应用程序的bug,我需要帮助理解以下代码行: 这里,, 视图: 控制器:Asp.net mvc 3 有人能解释一下这些代码行吗?,asp.net-mvc-3,Asp.net Mvc 3,我正在修复一些应用程序的bug,我需要帮助理解以下代码行: 这里,, 视图: 控制器: public static MvcHtmlString RenderControlText(this HtmlHelper htmlHelper, string controlType) { return htmlHelper.Action("ControlText", new { controlType = controlType }); } 此处的
public static MvcHtmlString RenderControlText(this HtmlHelper htmlHelper, string controlType)
{
return htmlHelper.Action("ControlText", new { controlType = controlType });
}
此处的参数controlType=“WFD\U同意”
。
我无法获取函数htmlhelper.Action()
在这里执行的操作。
从逻辑上讲,这个函数RenderControlText()
应该从某个地方获取一些数据,但看起来不像。我在这里走到了死胡同。
这个方法RenderControlText()
应该获取一些我保存在某处的文本,并显示出来
编辑:Action()方法具有以下参数:Action name和object routeValue?
第二部分是什么:new{controlType=controlType}
?这个routevalues做什么
我无法理解函数htmlhelper.Action()在这里的作用
看看Phil Haack详细解释儿童行为的文章
Action助手基本上执行一个子操作。子操作是标准的控制器操作,但它可以与主请求的执行并行呈现
Html.Action(“SomeAction”、“SomeController”)
表示将在SomeController
上执行SomeAction
,并将此操作的执行结果呈现到输出
相反:Html.Action(“SomePartial”)
意味着SomePartial
将直接呈现到输出,而无需执行任何子控制器和操作
但在这两种情况下,所有处理都发生在单个客户端请求中。只是您有一个主控制器操作,它被执行并呈现为一个视图,在这个视图中,您使用Html.action帮助器来实例化一个子控制器和操作(例如,它可以返回一个部分视图)此视图的执行结果直接插入到输出中。此处此重载用于Html.Action:Html.Action(string actionname,object RouteValue)。RouteValue是什么?它允许您将参数传递给子操作。例如,如果您的子操作是这样定义的:
public ActionResult ControlText(string controlType){…}
您可以像这样传递controlType
参数:htmlhelp.action(“ControlText”,new{controlType=controlType})
。这条注释帮助很大!!
public static MvcHtmlString RenderControlText(this HtmlHelper htmlHelper, string controlType)
{
return htmlHelper.Action("ControlText", new { controlType = controlType });
}