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

标签 asp.net-mvc user-controls ascx

抱歉,如果这是一个基本问题,我很难从页面框架过渡到ASP.NET MVC。

在页面框架中,我经常使用ASCX文件来创建小的,封装的功能块,这些功能块包含在站点的各个位置。如果我正在构建页面,并且需要这些控件之一,则只需添加引用即可,一切都将正常进行。

据我所知,在MVC中,ASCX文件只是部分 View 。这是否意味着我想在其中添加这些功能单元之一的地方,还必须向 Controller 的操作方法中添加一些代码,以确保ASCX可以使用相关的ViewData?

如果是这样,对我来说似乎有点退后一步。例如,这意味着我不能只将控件“拖放”到母版页中而不必向其 View 使用该母版页的每个 Controller 中添加代码!

我怀疑我缺少了一些东西-任何帮助将不胜感激。

谢谢,
- 克里斯

最佳答案

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?



是的。

但是,您可以在 View 中使用 RenderAction 方法代替RenderPartial,并且所有功能(包括传递到 subview 的数据)都将被封装。

换句话说,这将创建一个包含 Controller 方法, View 数据和局部 View 的小程序包,可使用您的主 View 中的一行代码来调用它。

关于asp.net-mvc - 在ASP.NET MVC中封装用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1691445/

相关文章:

.net - System.Diagnostics.Process.Start() 从 WCF 服务运行时拒绝访问

asp.net-mvc - 在每个 Controller 操作上注入(inject) javascript - asp.net mvc

javascript - 使用 jQuery 事件

c# - 未为加载的控件生成 ASP.NET 客户端 ID

asp.net - 用户控件不读取资源文件...在 WebForms .NET 上正确组织资源文件?

css - 如何从不同的 .asxc 文件更改 CSS 背景?

asp.net - asp中windows身份验证的简单自定义角色。网?

asp.net-mvc - 根据MVC中第一个下拉列表的值启用第二个和第三个下拉列表

c# - 将属性继承到自定义控件 C#

C# WPF 自定义控件在设计时不响应 XAML 属性?