面对的是 控制器(例如页面跳转/home/Index,表示 home控制器下的 Index动作) ,
数据源来自 Model ,视图编辑来自View。
打开VS,新建项目,在Visual C#中打开 “Asp.Net MVC Web 应用程序”,然后选择空模板,ASPX视图 !
进入后,找到control文件夹,添加 控制器(名字可以休改,但是controler勿改)。
MVC默认执行home控制器例的Index动作。
第一节,在home控制器中 ,获得数据直接调用View 显示。
public string Index()
{
string sj = System.DateTime.Now.ToString();
return sj; //这样直接输出时间 页面
}
当
public ActionResult hh()
{
string d = "Hello World.";
ViewData["f"] = d;
return View();
} // 这时候MVC返回的是视图,右键添加视图,只需选择aspx即可。然后绑定数据,
如下<Div> <a href="/home/Index"> <%=ViewData["f"].Tostring()%> </Div>
这就可以把数据显示在 视图中。 <%=XX%> 表示赋值。
第二节,在控制器中通过调用Model进行数据库查询获得数据,然后绑定到View显示
首先是创建表的连接,再写出增删改查的方法,以方便调用。
如下
public ActionResult Index()
{
List<Car> list = new CarDA().Select(); //把数据从Model层取出来
ViewData["cars"] = list; //把数据传给视图层
return View(); //返回视图模板给客户
}
public ActionResult Delete( string id )
{
new CarDa().Delete(id);
return RedirectToAction("Index"); //代表运行完删除,直接跳转到当前控制器的 Index 动作。
}
把数据绑定到View视图。
在View 视图中:需要引用 数据的命名空间,<%@ Import Namespace="MvcApplication1.Models" %>
<div>
<a href=" /home/Index " > 这是超链接跳转!表示,执行home控制器的index动作 (home/Index) </a>
<table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="black">
<tr class="header">
<td width="40%">汽车名称</td>
<td width="20%">所属系列</td>
<td width="20%">生产厂商</td>
<td width="10%">汽车价格</td>
<td width="10%">操作</td>
</tr>
<%
List<Car> list = ViewData["cars"] as List<Car>;
foreach( Car data in list )
{
%>
<tr class="item">
<td> <%=data.Name %> </td>
<td> <%=data.Brand1.Brand_Name %> </td>
<td> <%=data.Brand1.Productor.Prod_Name %> </td>
<td> <%=data.Price %> </td>
<td><a href="/Demo/Delete?id=<%=data.Code %>">删除</a> </td>
</tr>
<%
}
%>
</table>
</div>
//注意!!!
//<a href="/Demo/Delete?id =<%=data.Code %>">删除</a> 。这里的传递参数 id ,
// 一定要和Delete(string id) 中的参数名 一样,否则传值不执行动作。
//这就是绑定数据。注意书写 <%= XX %>表示赋值; <% XX %> 表示数据绑定