搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果

2022-05-10 15:30:11 浏览数 (1)

          本篇文章:主要介绍怎么使用这套框架。在做好配置等前期工作后。我们就是要与Mvc进行融合了。由于Mvc本人也是个初级入门者。对于这部分的研究还不是很深入。但是基本应用已经可以了。下面就让我们开始一个简单的应用实例吧:

第一步:添加control

在web项目中的controls文件夹下面添加一个UserController.cs文件。【这里可以把Controls单独放到一个项目中,这里只是搭建框架的演示,就不做那么复杂了】

添加代码如下所示:

代码语言:javascript复制
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的代码如下:

代码语言:javascript复制
<%@ 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代码:

代码语言:javascript复制
<%@ 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 Nhibernate控件下载

项目:源代码下载

0 人点赞