asp.net mvc3开发系统点滴之一

Controllers 引用数据

Models 组织数据

Views 呈现数据

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IList<SQSMvcSolution.Models.Model.ScenicSpots>>" %>

<%@ Import Namespace="SQSMvcSolution.Extensions" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head , new { });%>

<script type="text/javascript">

$(function() {

$('#loading_div').show();

$.ajax

(

{

url: "/Home/UC_Head",

cache: false,

success: function(html) {

$('#loading_div').hide();

$("#uchead").append(html);

}

}

);

});

</script>

</head>

<body>

<form ); %>

</form>

</body>

</html>

using System;

using System.Collections.Generic;

using System.Web;

using SQSMvcSolution.Models.Model;

using System.ServiceModel;

using SQSMvcSolution.Commans;

namespace SQSMvcSolution.Models.BLL

{

/// <summary>

/// 票务业务逻辑类

/// </summary>

/// <author>方向华</author>

public class Ticket

{

private static readonly ServiceSqsTicket.TicketServiceClient dal = new SQSMvcSolution.ServiceSqsTicket.TicketServiceClient();//代理

private static readonly ILog4NetExtLog Loger = Log4NetExtLogManager.GetLogger("Ticket_WCF");//系统日志组件

private string error = String.Empty;

/// <summary>

/// 获取景点列表

/// </summary>

/// <returns></returns>

public IList<ScenicSpots> GetAllScenicSpots()

{

try

{

List<ScenicSpots> l = new List<ScenicSpots>();

ServiceSqsTicket.ScenicSpots[] ar = dal.GetScenicSpotsCl();

foreach (ServiceSqsTicket.ScenicSpots m in ar)

{

ScenicSpots md = new ScenicSpots();

md.ScenicSpots_NO = m.ScenicSpots_NO;

md.ScenicSpots_Name = m.ScenicSpots_Name;

md.ScenicSpots_Code = m.ScenicSpots_Code;

md.Scenic_Code = m.Scenic_Code;

l.Add(md);

}

return l;

}

catch (CommunicationException comex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<ScenicSpots> GetAllScenicSpots()。</br>";

error += "错误类型:通信服务异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, comex);

return null;

}

catch (ObjectDisposedException objex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<ScenicSpots> GetAllScenicSpots()。</br>";

error += "错误类型:通信状态异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, objex);

return null;

}

catch (TimeoutException Timeex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<ScenicSpots> GetAllScenicSpots()。</br>";

error += "错误类型:通信超时异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, Timeex);

return null;

}

}

/// <summary>

/// 用户预订门票是否存在状态值

/// </summary>

/// <returns></returns>

public int GetBookTicketStaus(string scenicspots_code)

{

try

{

return dal.GetTicketStatus(scenicspots_code);

}

catch (CommunicationException comex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int GetBookTicketStaus(string scenicspots_code)。</br>";

error += "错误类型:通信服务异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, comex);

return -1;

}

catch (ObjectDisposedException objex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int GetBookTicketStaus(string scenicspots_code)。</br>";

error += "错误类型:通信状态异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, objex);

return -1;

}

catch (TimeoutException timeex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int GetBookTicketStaus(string scenicspots_code)。</br>";

error += "错误类型:通信超时异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, timeex);

return -1;

}

}

/// <summary>

/// 按景点获取票务列表

/// </summary>

/// <param name="scenicspots_code"></param>

/// <returns></returns>

public IList<TicketPlans> GetAllTicketPlans(string scenicspots_code)

{

try

{

List<TicketPlans> l = new List<TicketPlans>();

ServiceSqsTicket.TicketSalePlan[] ar = dal.GetTicketSalePlanCl(scenicspots_code);

foreach (ServiceSqsTicket.TicketSalePlan m in ar)

{

TicketPlans md = new TicketPlans();

md.TicketType_NO = m.TicketType_NO;

md.ScenicSpots_Code = m.ScenicSpots_Code;

md.TicketType_Name = m.TicketType_Name;

md.TicketType_Price = m.TicketType_Price;

md.TicketSalePlan_DiscountPrice = m.TicketSalePlan_DiscountPrice;

md.TicketSalePlan_NO = m.TicketSalePlan_NO;

md.TicketType_Code = m.TicketType_Code;

md.TicketSalePlan_ValidDaySum = (int)m.TicketSalePlan_ValidDaySum;

md.Mnum = 0;

l.Add(md);

}

return l;

}

catch (CommunicationException comex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<TicketPlans> GetAllTicketPlans(string scenicspots_code)。</br>";

error += "错误类型:通信服务异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, comex);

return null;

}

catch (ObjectDisposedException objex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<TicketPlans> GetAllTicketPlans(string scenicspots_code)。</br>";

error += "错误类型:通信状态异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, objex);

return null;

}

catch (TimeoutException timeex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:IList<TicketPlans> GetAllTicketPlans(string scenicspots_code)。</br>";

error += "错误类型:通信超时异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, timeex);

return null;

}

}

/// <summary>

///景点用户订单入库并返回数据处理状态

/// </summary>

/// <returns></returns>

public long CreateTicketUserOrders

(

//string _weborder_number,

int _weborder_usertype,

long _webuser_no,

DateTime _weborder_time,

string _weborder_tickettype,

int _weborder_touristsum,

decimal _weborder_pricesum,

DateTime _weborder_arrivaltime,

int _weborder_payment,

int _weborder_paid,

int _weborder_gettickettype,

string _weborder_getticket,

string _weborder_userno,

string _weborder_userpassword,

string _weborder_memo

)

{

try

{

return dal.CreatTicketUserOrders

(

//_weborder_number,

_weborder_usertype,

_webuser_no,

_weborder_time,

_weborder_tickettype,

_weborder_touristsum,

_weborder_pricesum,

_weborder_arrivaltime,

_weborder_payment,

_weborder_paid,

_weborder_gettickettype,

_weborder_getticket,

_weborder_userno,

_weborder_userpassword,

_weborder_memo

);

}

catch (CommunicationException comex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int CreateTicketUserOrders。</br>";

error += "错误类型:通信服务异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, comex);

return -1;

}

catch (ObjectDisposedException objex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int CreateTicketUserOrders。</br>";

error += "错误类型:通信状态异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, objex);

return -1;

}

catch (TimeoutException timeex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int CreateTicketUserOrders。</br>";

error += "错误类型:通信超时异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, timeex);

return -1;

}

}

/// <summary>

///景点用户订单入库后,并更新订单是否已成功支付状态

/// </summary>

/// <param name="_weborder_number"></param>

/// <returns></returns>

public int UpdateTicketUserOrdersStaus(long _weborder_number)

{

try

{

return dal.UpdateTicketUserOrdersStaus(_weborder_number);

}

catch (CommunicationException comex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int UpdateTicketUserOrdersStaus(string _weborder_number)。</br>";

error += "错误类型:通信服务异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, comex);

return -1;

}

catch (ObjectDisposedException objex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int UpdateTicketUserOrdersStaus(string _weborder_number)。</br>";

error += "错误类型:通信状态异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, objex);

return -1;

}

catch (TimeoutException timeex)

{

error = "错误模块:WCF服务模块。</br>";

error += "错误地址:int UpdateTicketUserOrdersStaus(string _weborder_number)。</br>";

error += "错误类型:通信超时异常。</br>";

error += "错误内容:</br>";

Loger.Error(error, timeex);

return -1;

}

}

public System.Data.DataTable GetAllHotelPic()

{

return dal.GetAllHotelPic();

}

}

}

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Mvc;

using System.Web.Mvc.Ajax;

using SQSMvcSolution.Commans;

using System.Web.Routing;

using SQSMvcSolution.Filters;

using System.Text;

using Discuz.Forum;

using Discuz.Common;

namespace SQSMvcSolution.Controllers

{

/// <summary>

/// 系统首页控制器

/// </summary>

/// <author>方向华</author>

public class HomeController : GlobalController

{

//[OutputCache(Duration = 1200, VaryByParam = "")]

//[ExceptionFilter]

public ActionResult Index()

{

Title = "三清山官方网首页";

SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();

IList<SQSMvcSolution.Models.Model.ScenicSpots> l = Bl.GetAllScenicSpots();

if (l == null)

{

return Redirect("CommError.htm");

}

else

{

return View(l);

}

}

public ActionResult UC_Head()

{

SQSMvcSolution.Models.Model.LoginInfo md = new SQSMvcSolution.Models.Model.LoginInfo();

int userid = Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1);

if (userid != -1)

{

Discuz.Entity.ShortUserInfo users = Users.GetShortUserInfo(userid);

string password = users.Password;

md.CenterUrl = "/bbs/usercp.aspx";

md.LoginUrl = string.Format("<font color=\"#ff0000\">{0}</font></A>&nbsp;<A href=\"/bbs/usercp.aspx\" target=\"_blank\">{1}</A>&nbsp;<A href=\"/bbs/logout.aspx?userkey={2}\">{3}</A>", "您好," + users.Username + "!", "用户中心",password.Length > 16 ? password.Substring(4, 8).Trim() : "", "退出");

if (users.Newpm > 0)

{

StringBuilder sb = new StringBuilder();

sb.Append("┊<img src=\"/images/msg.gif\" width=\"18\" height=\"12\"> <a href=\"/bbs/usercpinbox.aspx\" target=\"_blank\" FONT-SIZE: 12px;TEXT-DECORATION: underline;\">您有" + users.Newpmcount.ToString() + "条新消息</a>");

int pmsound = Utils.StrToInt(ForumUtils.GetCookie("pmsound"), 0);

if (pmsound > 0)

{

sb.Append("<bgsound src=\"/bbs/sound/pm" + pmsound.ToString() + ".wav\" loop=\"2\">");

}

md.MsgrUrl = sb.ToString();

}

}

else

{

md.CenterUrl = "/bbs/login.aspx";

md.LoginUrl = string.Format("<img src=\"/images/loginuser.gif\" width=\"16\" height=\"16\"/> <A href=\"/bbs/login.aspx\"><font color=\"#ff0000\">{0}</font></A> <font color=\"#cccccc\">{1}</font> <img src=\"/images/reguser.gif\" width=\"16\" height=\"16\"/> <A href=\"/bbs/register.aspx?agree=yes\"><font color=\"#0E5D2F\">{2}</font></A>", "登录", "新用户?", "注册");

}

return PartialView(md);

}

}

}