如何为局部视图创建单个控制器和模型?我想能够把这个局部视图放在网站的任何地方,这样它就需要自己的控制器.我目前正在渲染部分

@Html.Partial("_Testimonials")

推荐答案

为什么不用Html.RenderAction()呢?

然后,您可以将以下内容放入任何控制器(甚至为其创建新控制器):

[ChildActionOnly]
public ActionResult MyActionThatGeneratesAPartial(string parameter1)
{
    var model = repository.GetThingByParameter(parameter1);
    var partialViewModel = new PartialViewModel(model);
    return PartialView(partialViewModel); 
}

然后你可以创建一个新的局部视图,让你的PartialViewModel成为它继承的部分.

对于Razor,视图中的代码块如下所示:

@{ Html.RenderAction("Index", "Home"); }

对于WebFormsViewEngine,它将如下所示:

<% Html.RenderAction("Index", "Home"); %>

Asp.net相关问答推荐

无法加载文件或程序集.无效指针(HRESULT 异常:0x80004003 (E_POINTER))

如何调试 Azure 500 内部服务器错误

ASP.NET web api 无法获取 application/x-www-form-urlencoded HTTP POST

IIS Request.UserHostAddress 返回 IPV6 (::1),即使禁用了 IPV6

如何判断一个IP地址是否是私有的?

无法加载文件或程序集 'System.Web.Mvc,版本 = 3.0.0.0,Elmah.MVC 问题

如何在新选项卡中打开 asp:HyperLink.NavigateUrl

您使用哪个 .NET Memcached 客户端,EnyimMemcached 与 BeITMemcached?

解析器错误消息:无法加载类型网络营销

通过 ASP.NET/C# 使用 Plupload

如何将数据集转换为数据表

ASP.NET MVC 路由的无限 URL 参数

elmah:没有 HttpContext 的异常?

将 html 标记从 jquery 发布调用发送到 asp.net 页面时,从客户端检测到潜在危险的 Request.QueryString 值

在 ASP.NET MVC 中模拟 User.Identity

如何清除 System.Runtime.Caching.MemoryCache

我可以在加载事件时从 C# 的 div 标记中动态添加 HTML 吗?

如何检索 X509Store 中的所有证书

如何识别字符串是否包含 unicode 字符?

MVC4 中 Global.asax.cs 页面中的问题