首页 / 知识
关于c#:将数据传递到ASP.NET MVC中的母版页
2023-04-16 07:22:00

Passing data to Master Page in ASP.NET MVC在不违反MVC规则的情况下,如何将数据传递到母版页(使用ASP.NET MVC)? 就个人而言,我更喜欢对传递给所有视图的抽象控制器(基本控制器)或基类进行编码。 如果您希望视图具有强类型的视图数据类,则这可能对您有用。其他解决方案可能更正确,但这是设计和实用性恕我直言之间的良好平衡。 母版页采用强类型的视图数据类,该类仅包含与之相关的信息:
使用该母版页的每个视图都采用强类型化的视图数据类,该类包含其信息并从母版页视图数据派生:
由于我不希望各个控制器了解将母版页数据放在一起的任何信息,因此我将该逻辑封装到了一个传递给每个控制器的工厂中:
继承与主视图之间的匹配关系很好,但是在渲染部分/用户控件时,我会将其视图数据组合到页面视图数据中,例如
这仅是示例代码,并非旨在按原样进行编译。专为ASP.Net MVC 1.0设计。 我更喜欢将主视图的数据驱动部分分解为多个部分,并使用Html.RenderAction进行渲染。与流行的视图模型继承方法相比,这具有几个明显的优点: 编辑 通用错误在下面提供了更好的答案。请阅读! 原始答案 Microsoft实际上已经发布了处理此问题的"官方"方式的条目。这提供了逐步解释,并解释了其原因。 简而言之,他们建议使用抽象控制器类,但请亲自看看。 抽象控制器是一个好主意,但我还没有找到更好的方法。我也很想看看别人做了什么。 我做了一些研究,发现了这两个站点。也许他们可以提供帮助。 ASP.NET MVC技巧#31 –将数据传递到母版页和用户控件 使用ASP.NET MVC将数据传递到母版页 我发现,传递给视图的所有模型对象的公共父对象非常有用。 无论如何,页面之间总会有一些共同的模型属性。 其他解决方案缺乏优雅感,并且花费的时间太长。我为将近整整一整年做了一件非常可悲和贫穷的事情表示歉意:
因此,很明显,我在SiteMasterViewData上具有此静态方法Get(),该方法返回SiteMasterViewData。 我认为另一种好方法是为具有某些属性的视图(例如某些接口的ParentView)创建用于视图的接口,因此您可以将其用于需要引用页面的控件(父控件)和应从中访问的主视图意见。 Request.Params对象是可变的。在请求处理周期中向其添加标量值非常容易。从视图的角度来看,该信息可能已在QueryString或FORM POST中提供。高度 |
最新内容
相关内容
linux设置编码命令?
linux设置编码命令?,系统,数据,发展,文件,字符集,命令,数据库,以下,终端,大小写,Linux如何使用enca查看文件编码并转换在Linux中查看文件编码linux命令关闭视图?
linux命令关闭视图?,系统,状态,管理,百分比,信息,情况,基础,软件,观察,首次,怎么查看linux正在运行的命令在 Linux 系统中,以下几个命令可以查linux命令看文件编码?
linux命令看文件编码?,状态,系统,文件,工具,名称,数据,命令,格式,汉字,以下,Linux如何使用enca查看文件编码并转换1、在Linux中查看文件编码可linux删除视图命令?
linux删除视图命令?,系统,软件,电脑,管理,地方,环境,地址,检测,情况,名称,ubuntu基本操作窗口打开后,点击屏幕下方的“用户账户(User Accounts)linux命令改变编码?
linux命令改变编码?,系统,文件,工作,代码,工具,命令,字符集,格式,以下,方式,linux查看系统编码和修改系统编码的方法1、查看系统语言、修改配修改linux编码命令?
修改linux编码命令?,系统,文件,命令,情况,标准,工作,格式,字符集,以下,方式,linux文件编码转换及Windows上创建的文件转为Linux格式1、拷贝到Wlinux改文件编码命令?
linux改文件编码命令?,系统,数据,地方,命令,文件,名称,工作,工具,格式,字符集,在Linux如何让更改文件的字符编码首先我们打开系统并使用root账linux编码命令大全?
linux编码命令大全?,系统,工作,信息,地址,命令,基础,目录,基础知识,时间,常用命令,linux系统常用操作命令linux常用命令有pwd命令、cd命令、lspython常见的字符编码有哪些?
python常见的字符编码有哪些?,数字,系统,代码,经济,统一,中国,基础知识,培训,国家,字节,刚开始学习Python的时候,一定要对基础知识有一定的了Python 中文编码
Python 中文编码,代码,培训,中文,你好,文件,世界,格式,实例,以上,结果,前面章节中我们已经学会了如何用Python输出"Hello,World!",英文没有PEP8 Python 编码规范
PEP8 Python 编码规范,异常,代码,名字,标准,培训,空格,注释,方式,模块,函数,一代码编排1缩进。4个空格的缩进(python编辑器都可以完成此功能)解决Python编码问题
解决Python编码问题,系统,数据,分析,代码,密码,字符,字节,字符集,方法,培训,1.基本概念字符集(Characterset)解释:文字和符合的总称常见字符集