我一直试图在 ASP.NET 中找到 MVC 和 3 层架构之间的区别。我参考了一些以前的一些以前的问题和一些页面,但可以找到一个明确的答案。
这是一个关于 MVC 实现的 msdn 页面:http: //msdn.microsoft.com/en-us/library/ff647462.aspx
考虑一下,我有这个代码:
Single page aspx UI and code as well
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head>
<title>start</title>
<script language="c#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
String selectCmd = "select * from Recording";
SqlConnection myConnection =
new SqlConnection(
"server=(local);database=recordings;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd,
myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Recording");
recordingSelect.DataSource = ds;
recordingSelect.DataTextField = "title";
recordingSelect.DataValueField = "id";
recordingSelect.DataBind();
}
</script>
</head>
<body>
<asp:dropdownlist id="recordingSelect" runat="server" />
<asp:button runat="server" text="Submit" OnClick="SubmitBtn_Click" />
</form>
</body>
</html>
现在,考虑我有不同的文件
---- View 和 Code-behind spearated ----
.aspx
<%@ Page language="c#" Codebehind="Solution.aspx.cs"
AutoEventWireup="false" Inherits="Solution" %>
<html>
<asp:dropdownlist id="recordingSelect" runat="server" />
</form>
</body>
</html>
.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
public class Solution : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
String selectCmd = "select * from Recording";
SqlConnection myConnection =
new SqlConnection(
"server=(local);database=recordings;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Recording");
recordingSelect.DataSource = ds;
recordingSelect.DataTextField = "title";
recordingSelect.DataValueField = "id";
recordingSelect.DataBind();
}
}
- 看到上面这个类的msdn 页面链接
Controller
,我无法辨别业务逻辑(对于 3 层架构中的中间层来说是相似的)和控制器之间的区别。 - 3-tier 和 MVC 是完全不同的东西吗?Visual Studio 中的 ASP.NET 应用程序是否已经像 MVC 形式那样分离文件?如果这些没有不同,哪一种是首选风格?
- 如果 .aspx 和 .aspx.cs 已经分开,那么 MVC 框架是什么?