首页 / 知识
关于asp.net:Html.RenderPartial从母版页调用
2023-04-14 12:10:00

Html.RenderPartial call from masterpage这是一个场景:假设我的网站上有两个负责显示不同类型内容的控制器-页面和文章。 我需要将"部分视图"嵌入我的母版页,该母版页将列出按某些条件过滤的页面和文章,并显示在每个页面上。 我无法在母版页上设置模型(是吗?)。 如何使用Html.RenderPartial解决此任务?
[编辑] 如何创建HtmlHelper扩展方法,该方法允许您在控制器上的action上调用部分视图结果。 就像是
然后您可以在母版页中使用它,例如
并在您的控制器中使用适当的方法
好吧那还是我的2美分 我认为您的解决方案可能属于MVC 2.0 RC以及其他领域。 菲尔·哈克(Phil Haack)在他的博客上发表了一篇文章:http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx 我有一个类似的帖子,并提出了一个对象模型来处理它。 我讨厌这种非强类型的视图,因此采用了这种方法,并且效果很好。 这是一个很晚的回复,但是我在谷歌搜索时转到了此页面-因此其他人也可能会看到此问题(以及我的回复)。 解决此问题的方法是使用简单的jQuery脚本加载PartialView并执行其控制器代码。下面的示例。
这种方法的最大缺点是,客户端必须启用脚本才能正常工作(因此,它对SEO确实不友好)。如果可以的话,您可以忍受它很好地工作。我只在Intranet网站上使用它,因为我知道每个客户端都启用了JavaScript,而我不必担心Google的机器人。 我处理此问题的方法是使用BaseViewModel。所有视图都是根据继承自BaseViewModel的视图模型强类型化的。 BaseViewModel类具有MasterPage所需的所有信息。因此,为了导航,您的BaseViewModel可能看起来像这样:
在您的MasterPage和PartialViews中,可以将模型转换为BaseViewModel并访问NavigationsItems属性。
是的,这是正确的。但让我们看一下这种情况: Html.RenderPartial(" articlesView",ViewData [" articles]]) Html.RenderPartial(" pagesView",ViewData [" pages"]) 在我的母版页上,在ViewDataDictionary既不包含文章也不包含页面的每个页面上都会引发异常。 至少,这就是我的看法。 ViewData Model属性仅应用于在UI的主要部分上查看/编辑的内容。 视图的其他部分可能需要ViewData中存在一些数据,因此只需将其添加到字典中即可。 我只是将像这样的字典中的数据传递给ViewData [" articles"]。 (或MvcContrib的ViewData.Get())。 您可能还会看看MvcContrib中实现的最近实现的SubController模式。 |
最新内容
相关内容
linux编译时显示命令?
linux编译时显示命令?,系统,基础,工具,代码,百度,下来,网上,命令,内核,文件,LINUX中此程序运行后,为何刷新不出命令提示符?1、有几个原因:一:你显示linux网卡命令行?
显示linux网卡命令行?,系统,信息,工具,网络,服务,电脑,网卡,技术指标,地址,命令,怎么在Linux系统中查看和编辑网卡信息?1、首先第一步根据下图linux命令显示内容?
linux命令显示内容?,标准,系统,数据,命令,百度,实时,时间,信息,文件,内容,linux命令怎样把lic文件显示出来1、打开一个 terminal,(就是终端程序),linux常用显示命令?
linux常用显示命令?,工作,地址,系统,信息,管理,命令,目录,标准,功能,常用命令,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、lslinux命令行同步显示?
linux命令行同步显示?,地址,工具,系统,数据,工作,时间,命令,综合,网址,信息,Linux常用命令有哪些1、linux常用命令如下:查看内核版本:uname-a。脚本调用linux命令?
脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typescript脚本中怎样运行Linux命令?1、Script可用于记录当前用户的linux分页显示命令?
linux分页显示命令?,工具,通信,命令,数据,信息,管道,标准,位置,一致,系统,linux中把执行完结果分页显示用什么命令1、less 工具也是对文件或其linux中ps命令显示?
linux中ps命令显示?,系统,信息,状态,进程,命令,多地,软件,工作,基础,报告,linux命令大全之ps命令详解1、su:用户切换 格式:su [选项] [使用者]linux命令逐页显示?
linux命令逐页显示?,系统,工作,地址,命令,网上,信息,百度,基础,标准,内容,在linux里有些命令显示的内容太多了,要网上翻页,怎么办?用shift+pag调用函数命令linux?
调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎么调用system函数,使用Android的linux命令1、int system(const chlinux显示内核命令?
linux显示内核命令?,地址,发行,信息,工具,电脑,系统,名称,内核,版本,状态,如何查看linux内核版本1、uname查看linux内核版本 最常用 的命令,适显示等号linux命令?
显示等号linux命令?,工作,地址,信息,系统,命令,目录,标准,管理,基础,常用命令,linux常用命令及用法linux常用命令: pwd命令 该命令的英文解释