Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 使用模型和htmlhelper渲染局部视图_Asp.net Mvc_Html Helper - Fatal编程技术网

Asp.net mvc 使用模型和htmlhelper渲染局部视图

Asp.net mvc 使用模型和htmlhelper渲染局部视图,asp.net-mvc,html-helper,Asp.net Mvc,Html Helper,ASP.NETMVC1 我想展示一个基于模型的局部视图,我希望它有一个相当短的命令。所以我看到了一种同时使用HtmlHelper和控制器的方法(我会使用另一个控制器,而不是当前使用的控制器) 但不知何故,它仍然给出了一个错误,尽管我认为该方法开始看起来像它应该的那样 那么我做错了什么?(如果我在ASPX页面中直接调用该方法,它会成功。但是应该可以使用HtmlHelper) ASCX页面中的部分: <% Html.RenderPartialView("Show", "Intro", Mode

ASP.NETMVC1

我想展示一个基于模型的局部视图,我希望它有一个相当短的命令。所以我看到了一种同时使用HtmlHelper和控制器的方法(我会使用另一个控制器,而不是当前使用的控制器)

但不知何故,它仍然给出了一个错误,尽管我认为该方法开始看起来像它应该的那样

那么我做错了什么?(如果我在ASPX页面中直接调用该方法,它会成功。但是应该可以使用HtmlHelper)

ASCX页面中的部分:

<% Html.RenderPartialView("Show", "Intro", Model.Intro); %>

错误提示:
“System.Web.Mvc.HtmlHelper”不包含“RenderPartialView”的定义,并且找不到接受“System.Web.Mvc.HtmlHelper”类型的第一个参数的扩展方法“RenderPartialView”(是否缺少using指令或程序集引用?)

对于扩展方法,您不需要包含第一个参数(“this HtmlHelper html”)。这是编译器在使用扩展方法时处理的。它是根据调用方法的对象推断出来的。

为什么不使用html.RenderPartial?这是渲染局部视图的正确方法。无需再提出请求

<% Html.RenderPartial("Show", Model.Intro); %>

您的调用没有成功,因为当您以“非静态”方式使用扩展方法(即,好像该方法属于实例)时,必须忽略第一个参数。正确的调用是

<% Html.RenderPartialView("Show", "Intro", Model.Intro); %>

希望能有帮助

塞德里克

添加

<add namespace="Namespace-Of-RenderPartialView-Class"/>


你是对的,但是没有什么坏处。当我忽略这个参数时,同样的问题。我调整了文本。嗯,我想要另一个控制器的部分视图。RenderPartial只对当前控制器有效,对吗?该死,我应该把它放在共享文件夹中。谢谢。可以使用相对视图名称;o)
<add namespace="Namespace-Of-RenderPartialView-Class"/>