搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果
本篇文章:主要介绍怎么使用这套框架。在做好配置等前期工作后。我们就是要与Mvc进行融合了。由于Mvc本人也是个初级入门者。对于这部分的研究还不是很深入。但是基本应用已经可以了。下面就让我们开始一个简单的应用实例吧:
第一步:添加control
在web项目中的controls文件夹下面添加一个UserController.cs文件。【这里可以把Controls单独放到一个项目中,这里只是搭建框架的演示,就不做那么复杂了】
添加代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using Spring.Context.Support;
using MyWeb.WebTemp.IBLL;
namespace MyWeb.WebTemp.Controllers
{
public class UserController : Controller
{
//
// GET: /User/
private IUserService userService;
public IUserService UserService
{
get { return this.userService; }
set { this.userService = value; }
}
public ActionResult Index()
{
var webApplicationContext =
ContextRegistry.GetContext() as WebApplicationContext;
UserService =
webApplicationContext.GetObject("UserService") as IUserService;//从spring配置中获取Userservice
IList<MyWeb.WebTemp.Model.User> users = UserService.GetAllUsers();
ViewData["Users"] = users;
return View("ShowAllUsers");
}
}
}
当然要添加相关的引用。这就不用说了。懂mvc的一看就知道是什么意思。
第二步:添加显示的view
在web项目下的Views文件夹下添加User文件夹。然后添加一个用于显示的ShowAllUsers.aspx view。
view的代码如下:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
ShowAllUsers
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>ShowAllUsers</h2>
<table>
<tr>
<td>用户名</td><td>密码</td>
</tr>
<%IList<MyWeb.WebTemp.Model.User> userList = ViewData["Users"] as List<MyWeb.WebTemp.Model.User>; %>
<%for (int i = 0; i < userList.Count; i++) %>
<%{ %>
<tr>
<td> <%=userList[i].Name%></td>
<td><%=userList[i].PassWord %></td>
</tr>
<%} %>
</table>
</asp:Content>
第三步:在首页中添加一个连接到我们的view
下面是Home文件夹下index.aspx代码:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%= Html.Encode(ViewData["Message"]) %></h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
<hr />
<p>
To my page <a href="User/Index" title="ASP.NET MVC Website"> show all users</a>.
</p>
<hr />
</asp:Content>
运行,然后点击连接,最后的效果如下:
点击连接后:
最终我们的结果就是这样子。最后的结果虽然不是很绚丽。但是整个框架已经有了。
项目展望:
我们可以将controls放到一个单独的项目中。然后可以设置一个工厂类来获取业务逻辑层的实体对象。
另外在ui层面我们可以采用extjs等ui框架,让页面更加绚丽。
拓展阅读:Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 1---准备
Extjs学习好去处:
【原】Ext2.2学习系列:ExtJS与.NET结合开发实例--全部Ext2.2示例--索引贴
相关下载
项目中用到的:spring.net Nhibernate控件下载
项目:源代码下载
文章索引:
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (一)
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (三)实现数据库接口层和业务逻辑层
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (四)配置全攻略