Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 有人能解释一下这些代码行吗?_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 有人能解释一下这些代码行吗?

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 }); } 此处的

我正在修复一些应用程序的bug,我需要帮助理解以下代码行:

这里,, 视图:

控制器:

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 });
        }