加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在ASP.NET MVC中封装用户控件

发布时间:2020-12-16 07:08:09 所属栏目:asp.Net 来源:网络整理
导读:很抱歉,如果这是一个基本问题 – 我在从页面框架转换到ASP.NET MVC时遇到了一些麻烦. 在页面框架中,我经常使用ASCX文件来创建小的,封装的功能块,这些功能在整个站点的各个位置都会被覆盖.如果我正在构建一个页面,我需要其中一个控件 – 我只需添加一个引用,
很抱歉,如果这是一个基本问题 – 我在从页面框架转换到ASP.NET MVC时遇到了一些麻烦.

在页面框架中,我经常使用ASCX文件来创建小的,封装的功能块,这些功能在整个站点的各个位置都会被覆盖.如果我正在构建一个页面,我需要其中一个控件 – 我只需添加一个引用,一切正常.

据我所知,在MVC中,ASCX文件只是一个局部视图.这是否意味着无论我想在哪里添加其中一个功能单元,我还必须在控制器的操作方法中添加一些代码,以确保相关的ViewData可用于ASCX?

如果是这种情况,对我来说似乎有点退步.例如,这意味着我不能将控件“删除”到母版页中,而无需向每个视图使用该母版页的控制器添加代码!

我怀疑我错过了什么 – 任何帮助都会受到赞赏.

谢谢,
– 克里斯

解决方法

As far as I can tell,in MVC,the ASCX
file is just a partial view. Does this
mean that wherever I want to add one
of these units of functionality I also
have to add some code to the
controller’s action method to make
sure the relevant ViewData is
available to the ASCX?

是.

但是,您可以在视图中使用RenderAction方法而不是RenderPartial,并且将封装所有功能(包括传递给子视图的数据).

换句话说,这将创建一个包含控制器方法,视图数据和局部视图的小包,可以使用主视图中的一行代码调用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读