快速业务通道

ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第六篇:******

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
System.Web;
5using System.Web.Mvc;
6using System.Web.Mvc.Ajax;
7using MVCDemo.Models;
8using MVCDemo.Models.Interfaces;
9using MVCDemo.Models.Entities;
10using MVCDemo.Controllers.Filters;
11
12namespace MVCDemo.Controllers
13{
14  public class AnnounceController : Controller
15  {
16    public ActionResult Release()
17    {
18      ICategoryService cServ = ServiceBuilder.BuildCategoryService();
19       List<CategoryInfo> categories = cServ.GetAll();
20      ViewData["Categories"] = new SelectList (categories, "ID", "Name");
21      return View("Release");
22    }
23
24    [LoggerFilter()]
25    [ExceptionFilter()]
26    public ActionResult DoRelease()
27    {
28      AnnounceInfo announce = new AnnounceInfo()
29      {
30        ID = 1,
31        Title = Request.Form["Title"],
32        Category = Int32.Parse (Request.Form["Category"]),
33        Content = Request.Form["Content"],
34       };
35
36      IAnnounceService aServ = ServiceBuilder.BuildAnnounceService();
37       aServ.Release(announce);
38
39      ViewData["Announce"] = announce;
40
41       System.Threading.Thread.Sleep(2000);
42      ViewData["Time"] = DateTime.Now;
43       System.Threading.Thread.Sleep(2000);
44
45      return View("ReleaseSucceed");
46    }
47  }
48}

看到没有,只要在DoRelease上写这么两个Attribute,一切就完成了,至于什么时候该调用什么******, 都是框架帮你完成了。注意一点,为了让我们看出******的时序,我们在DoRelease中加了一点东西,就是加了一个ViewData ["Time"],里面记录了执行此Action的时间,因为日志******在前后都会记录时间,我们通过比较时间就可以看出执行顺序了。至 于那两个Sleep则是让效果更明显的,这行代码的意思是让程序在这里延迟2秒。

要执行这个程序,我们还要改一下 ReleaseSucceed.aspx视图,其实就是加几个地方显示ViewData里相应的数据。

ReleaseSucceed.aspx:

1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReleaseSucceed.aspx.cs" Inherits="MVCDemo.Views.Announce.ReleaseSucceed" %>
2<%@ Import Namespace="MVCDemo.Models.Entities" %>
3
4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6<html xmlns="http://www.w3.org/1999/xhtml" >
7<head runat="server">
8  <title></title>
9</head>
10<body>
11   <% AnnounceInfo announce = ViewData["Announce"] as AnnounceInfo; %>
12  <div>
13     <h1>MVC公告发布系统——发布公告成功</h1>
14    <dl>
15      <dt>ID: </dt>
16      <dd><%= announce.ID %></dd>
17      <dt>标题: </dt>
18      <dd><%= announce.Title %

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号