试图在候选版本中创建一个 MVC 用户控件,但我看不到使用代码隐藏文件创建一个。MVC 视图页面也是如此。
在 Beta 中创建视图会产生代码隐藏……我错过了什么吗?
试图在候选版本中创建一个 MVC 用户控件,但我看不到使用代码隐藏文件创建一个。MVC 视图页面也是如此。
在 Beta 中创建视图会产生代码隐藏……我错过了什么吗?
背后的代码有点违背 MVC 框架的目的。功能应该与视图分开,MVC 团队认为页面背后的代码违背了这种意识形态,因此将其删除。
您可以创建自定义帮助方法来创建您的控件。另外我不确定 MVC 是否有视图组件(单轨/城堡),但这也可能是一个选项。
*没有代码隐藏文件的视图根据反馈,我们已将视图模板更改为默认情况下没有代码隐藏文件。此更改有助于加强 MVC 应用程序中视图的用途(旨在纯粹用于渲染并且不包含任何非渲染相关代码),并且对于大多数人来说消除了项目中未使用的文件。RC 版本现在添加了 C# 和 VB 语法支持,用于从使用泛型的基类继承视图模板。例如,下面我们将其与 Edit.aspx 视图模板一起使用——其“inherits”属性派生自 ViewPage 类型:
不使用代码隐藏文件的一个好处是,当您将视图模板文件添加到项目中时,您现在可以立即在视图模板文件中获得智能感知。对于以前的构建,您必须在创建视图后立即进行构建/编译,以便在其中获取代码智能感知。RC 使添加和立即编辑视图的工作流程免编译且更加无缝。
重要提示:如果您要升级使用早期版本创建的 ASP.NET MVC 项目,请确保遵循发行说明中的步骤 - \Views 目录下的 web.config 文件需要使用一些设置进行更新,以便上述基于泛型的语法可以工作。*
我在这里回答了这个问题:
如何将代码隐藏页面添加到部分视图
似乎这并不是特别棘手,而且非常可行这个答案适用于部分“ViewUserControl”,但同样适用
行。
第一:添加一个带有.cs约定的Class文件(即view.ascx.cs)
第二:添加“使用System.Web.Mvc;” 到班级
第三:将类更改为从“ViewUserControl<>”继承
第四:将以下内容添加到视图的标题中:
CodeBehind="View.ascx.cs" Inherits="Project.Views.Shared.View"
第五:将文件复制出解决方案并拖回以将两者重新关联在一起
注意:要使用普通 MVC 视图,您只需要从“ViewPage”继承类
ASP.Net-mvc 的整个想法是摆脱代码隐藏文件......这就是为什么 asp web 控件并不重要,大多数都不起作用。但是随着摆脱代码背后的变化带来了不同的编程风格..这个想法是代码隐藏文件是邪恶的:
http://stevesmithblog.com/blog/codebehind-files-in-asp-net-mvc-are-evil/
整个想法是确保人们记住他们使用的是 asp.Net-mvc 而不是 asp.et 网页。看看这个链接,它解释得更好一点:
我认为本教程就是您要问的..但不确定您想要什么..