21

我对编程并不陌生,但对 Visual Studio、MVC、C#、ASP.NET 和 EXT.NET(即我尝试使用的所有工具)还是陌生的。

我正在尝试创建一个 Ext.Net 2.0 MVC4 项目,并获得了一个类似的(功能上)非 MVC 项目以供参考。

我看到这个非 MVC 项目有 .aspx 和 .aspx.cs 文件。似乎 .aspx 文件基本上映射到我想要制作的 MVC 中的“视图”......并且 .aspx.cs 文件具有与 .aspx 文件相关的功能 - 就像“控制器”一样? 虽然 .aspx 文件也有一些似乎不完全与视图相关的功能......

有人可以给我一个快速的概述或一个开始的地方吗?

4

5 回答 5

20

ASPX 文件通常会有 UI 和通常是 HTML 标记、一些 ASP.NET 服务器控件嵌入代码(最终会产生一些 HTML 标记)。ASPX.CS 文件(通常称为代码隐藏)将在 C# 中进行服务器端编码。

如果需要,我会将 ASPX 页面与 View 和 ASPX.CS 与 Controller 操作方法相关联。

您必须记住,在 Web 表单中,我们将在 ASPX 文件中使用 ASP.NET 控件来呈现一些 HTML。例如 TextBox、DataGrid 等。在 MVC 中,没有什么叫做服务器控件。视图将是纯手写的 HTML。

如果需要,您可以创建一个混合项目,它是 MVC 和 Web 表单的组合。斯科特在这里有一篇解释它的帖子。

MVC 中没有 ViewState :)

从 ASP.NET Webforms 切换到 MVC 时,您必须了解的一件重要事情是 MVC 架构试图坚持HTTP 是无状态的这一事实。MVC中没有可用的视图状态。因此,您需要确保根据需要在每个 HTTP 请求中重新填充数据。人们在 MVC 中加载 DropDownlist 时通常会遇到问题。SO中有很多关于如何处理回发下拉列表的答案(当表单发布时)。

我建议您查看一些关于 ASP.NET MVC 的初学者级教程并开始逐步构建您的应用程序,如果您遇到任何问题,请发布一个(的)问题并提供相关详细信息。

祝你好运,欢迎来到 MVC 的精彩世界。:)

于 2012-11-01T17:52:43.003 回答
2

听起来您还没有创建 MVC 项目,而是创建了 WebForms 项目。

*.aspx 文件是标记,*.aspx.cs 文件是代码隐藏文件。代码隐藏文件处理 *.aspx 文件中任何服务器端控件的 .NET 代码。

于 2012-11-01T17:52:07.567 回答
2

查看 ASP.NET 上的 Wikipedia 文档http://en.wikipedia.org/wiki/ASP.NET

它指出:

Web 表单包含在扩展名为“.aspx”的文件中;这些文件通常包含静态 (X)HTML 标记,以及定义服务器端 Web 控件和用户控件的标记,开发人员在其中放置网页的所有 rc 内容。另外,运行在服务器上的动态代码可以放在一个页面中的一个块<%--动态代码--%>内,这与PHP、JSP、ASP等其他Web开发技术类似。在 ASP.NET Framework 2.0 中,Microsoft 引入了一种新的代码隐藏模型,该模型允许静态文本保留在 .aspx 页面上,而动态代码保留在 .aspx.vb 或 .aspx.cs 或 .aspx.fs 文件中(取决于关于所使用的编程语言)。

.cs 文件名 .aspx.cs 是 .aspx 背后的代码,它通常包含 html、css、javascript 和其他客户端控件。

通常,动态代码(在这种情况下是 C#,因为文件名上有 .cs)作为“良好做法”放入 .cs 文件中,以将动态代码和静态 html 分开。这种抽象的另一个原因是 .aspx.cs 代码在服务器端运行,而 .aspx 文件在服务器上编译,然后提供给请求它的 Web 客户端。

此外,对于 MVC,我建议使用不同的视图模型,特别是 Razor,它使用 .cshtml 文件而不是 .aspx.cs 和 .aspx,因为它们更容易理解。MVC 发生变化的原因是 MVC 使用 MVC 模式来抽象代码层,因此不需要 .aspx 和 .aspxcs。从个人经验来看,我在 MVC 中使用了 Razor 和 Webforms (.aspx/.aspx.cs) 视图模型,我发现 Razor 更容易编码/维护和使用。

于 2012-11-01T17:58:13.427 回答
1

aspx 文件包含您的页面标记。它由 ASP.NET 自动转换为代码。

cs 文件包含页面背后的代码(初始化、事件处理程序等)。您必须自己编写该代码。

这两个文件与继承相关,@Page 指令的 Inherits 属性将页面标记与后面的代码相关联

于 2012-11-01T17:54:13.303 回答
0

.aspx 是您的标记文件。包含 HTML、CSS、JavaScript 和 ASP 标记等内容。此 .cs 文件称为代码隐藏文件。这是你做的事情可能不可用或者你不习惯用脚本语言做的事情。通常 aspx 在客户端运行,而后面的代码在服务器上执行。

于 2012-11-01T17:53:37.637 回答