网站性能买了空间和域名 就有网站后台了吗
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:24
当前位置: 首页 > news >正文
网站性能,买了空间和域名 就有网站后台了吗,中国建设教育协会的网站查询,体育西网站开发方案三层架构 DAL数据访问层: BooksRatingService各种service类定义各种使用sqlhelper定义数据库的操作方法将sql字段加载进去各种具体的数据操作的方法
BLL逻辑业务层#xff1a;BookManager各种manager类调用DAL层类方法定义对model类的操作方法
models实体类#xff1a;定义…三层架构 DAL数据访问层: BooksRatingService各种service类定义各种使用sqlhelper定义数据库的操作方法将sql字段加载进去各种具体的数据操作的方法
BLL逻辑业务层BookManager各种manager类调用DAL层类方法定义对model类的操作方法
models实体类定义实体类 设置 获得方法数据传输的中间媒介
web层视图文件布局 脚本 样式aspx文件布局aspx.cs文件进行数据与控件的交互
DAL中的sqlhelper定义数据库操作方法
Bin文件夹中引用dll文件 问题
为何需要BLL 层?不直接调用DAL中的方法 model类代码作为数据操作媒介
private DateTime createdTime;
public DateTime CreatedTime { get { return createdTime; } set { createdTime value; } } SqlHelper类代码定义数据操作方法
Method:readData DataSet Query sqlcmd
Reader_data:ExecuteReader()
DataSet:ExecuteDataset()
Query_Data: ExecuteNonQuery(),
insertData: ExecuteScalar()
Sqlcmd_execute: PrepareCommand() //Databaseconnection strings
public static readonly string ConnectionString ConfigurationManager.ConnectionStrings[BookShop].ConnectionString;
ExecuteNonQuery
///summary ///执行SqlServer存储过程 ///注意不能执行有out 参数的存储过程 ////summary ///paramnameconnectionString连接字符串/param ///paramnamespName存储过程名/param ///paramnameparameterValues对象参数/param ///returns受影响的行数/returns public static int ExecuteNonQuery(string connectionString, string spName, params object[] parameterValues) { using (SqlConnection conn new SqlConnection(connectionString)) { SqlCommand cmd new SqlCommand(); PrepareCommand(cmd, conn, spName,parameterValues); int val cmd.ExecuteNonQuery(); return val; } } ExecuteReader
///summary /// 执行sql命令 ////summary ///paramnameconnectionString连接字符串/param ///paramnamecommandType命令类型/param ///paramnamecommandTextsql语句/参数化sql语句/存储过程名/param ///paramnamecommandParameters参数/param ///returnsSqlDataReader 对象/returns public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[]commandParameters) { SqlConnection conn new SqlConnection(connectionString); try { SqlCommand cmd new SqlCommand(); PrepareCommand(cmd,commandType, conn, commandText, commandParameters); SqlDataReader rdr cmd.ExecuteReader(CommandBehavior.CloseConnection); return rdr; } catch { conn.Close(); throw; } } ExecuteDataset
//setthe data to the dataAdapter
public static DataSet ExecuteDataset(string connectionString, string spName, params object[] parameterValues) { using (SqlConnection conn new SqlConnection(connectionString)) { SqlCommand cmd new SqlCommand(); PrepareCommand(cmd, conn,spName, parameterValues); using (SqlDataAdapter da new SqlDataAdapter(cmd)) { DataSet ds new DataSet(); da.Fill(ds); return ds; } } } ExecuteScalar
///summary ///执行Sql命令 ////summary ///paramnameconnectionString连接字符串/param ///paramnamecommandType命令类型/param ///param namecommandTextsql语句/参数化sql语句/存储过程名/param ///paramnamecommandParameters参数/param ///returns执行结果对象/returns public static object ExecuteScalar(string connectionString, CommandType commandType, string commandText, params SqlParameter[]commandParameters) { SqlCommand cmd new SqlCommand(); using (SqlConnection conn new SqlConnection(connectionString)) { PrepareCommand(cmd,commandType, conn, commandText, commandParameters); object val cmd.ExecuteScalar(); return val; } } PrepareCommand
///summary ///设置一个等待执行的SqlCommand对象 ////summary ///paramnamecmdSqlCommand 对象不允许空对象/param ///paramnameconnSqlConnection 对象不允许空对象/param ///paramnamecommandTextSql 语句/param ///paramnamecmdParmsSqlParameters 对象,允许为空对象/param private static void PrepareCommand(SqlCommand cmd, CommandType commandType, SqlConnection conn, string commandText, SqlParameter[] cmdParms) { //打开连接 if (conn.State ! ConnectionState.Open) conn.Open(); //设置SqlCommand对象 cmd.Connection conn; cmd.CommandText commandText; cmd.CommandType commandType; if (cmdParms ! null) { foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); } } DAL类代码cast datas to models
设置/获得参数传入sqlhelper方法 得到数据映射到实体类 用实体类对数据进行具体操作
Method:
get list of items:GetBookRatings(int bookId),GetBookRatings(string safeSql)
insert Data: AddBookRating()
get Data: GetBookRatings() BooksRatingService:
//database connection strings
string connection ConfigurationManager.ConnectionStrings[BookShop].ConnectionString;
AddBookRating
//method: insert data by casting datato models public bool AddBookRating(BookRatings bookrating) { string sql INSERTBookRatings (BookId,UserId,Rating,Comment) VALUES(BookId, UserId, Rating, Comment); sql ; SELECTIDENTITY; SqlParameter[] para new SqlParameter[] { new SqlParameter(BookId,bookrating.BookId), new SqlParameter(UserId,bookrating.User.Id), new SqlParameter(Rating,bookrating.Rating), new SqlParameter(Comment,bookrating.Comment) }; bookrating.Id Convert.ToInt32(SqlHelper.ExecuteScalar(this.connection, CommandType.Text, sql, para)); return bookrating.Id 0; } GetBookRatings
//methodgetspecially data according to terms
///summary ///根据书的Id得到其评价信息 ////summary ///paramnamebookId/param ///returns/returns
//getbookRatings list of specially book by id public ListBookRatings GetBookRatings(int bookId) { string sql select * frombookratings where bookid bookId ; return this.GetBookRatings(sql); }
//getlist of bookRatings by sql private ListBookRatings GetBookRatings(string safeSql) { ListBookRatings list new ListBookRatings(); DataSet ds SqlHelper.ExecuteDataset(this.connection, CommandType.Text, safeSql); if (ds.Tables.Count 0) { DataTable dt ds.Tables[0];
//castdata to models by traversing dataRow foreach (DataRow row in dt.Rows) { BookRatings brating new BookRatings(); brating.Id (int)row[Id]; brating.BookId (int)row[BookId]; brating.Rating (int)row[Rating]; int userId (int)row[userid]; brating.User new UserService().GetUserById(userId); brating.Comment (string)row[Comment]; brating.CreatedTime (DateTime)row[CreatedTime]; list.Add(brating); } } return list; } GetCategoryById
//cast data to model
public Category GetCategoryById(Int32 id) { string sql SELECT * FROMCategories WHERE Id Id; Category category null; using (SqlDataReader reader SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, sql, new SqlParameter(Id, id))) { if (reader.Read()) { category new Category(); category.Id (int)reader[Id]; category.Name (string)reader[Name]; category.PId (int)reader[PId]; } } return category; } BLL类代码get and set models List
Get models list
public ListCategory GetCategories() { //调用DAL类方法返回实体类列表 return new CategoryService().GetCategories(); }
Set Models list
public void AddCategory(Category category) { //调用DAL类方法定义添加实体类 new CategoryService().AddCategory(category); }
Get specially terms of models list byparameter
public ListBookRatings GetBookRatings(int bookId) { return new BooksRatingService().GetBookRatings(bookId); } Web
Common.master 通用视图 用于引用提高代码重用度
Common.master.cs 从数据库读取数据定义视图
Admin.master 管理者通用视图
Admin.master.cs 从数据库读取数据定义视图 #region Method_name
代码显示缩进
#endregion 注释说明方法用途参数返回对象
///summary ///执行Sql命令 ////summary ///paramnameconnectionString连接字符串/param ///paramnamecommandType命令类型/param ///paramnamecommandTextsql语句/参数化sql语句/存储过程名/param ///paramnamecommandParameters参数/param ///returnsDataSet 对象/returns App_code: Category.cs
public class Category
{ public int Id { get; set; } public string Name { get; set; } public int Pid { get; set; } public int SortNum { get; set; }
}
Web.Config
configuration connectionStrings
addnameBookShopconnectionStringserver.;uidsa;pwdsa;databaseBookShopPlus/ /connectionStrings system.web compilationdebugtruetargetFramework4.0/ /system.web
/configuration Web.SiteMap
siteMapxmlnshttp://schemas.microsoft.com/AspNet/SiteMap-File-1.0 siteMapNodeurl\Default.aspxtitle第三波 description siteMapNodeurlBookList.aspxtitle图书列表页 description/ siteMapNodeurlSearch.aspxtitle搜索页 description/ siteMapNodeurltitle订单查询 description / siteMapNodeurlShoppingCart.aspxtitle购物车 description / siteMapNodeurl\BookDetail.aspxtitle图书详细页 description / siteMapNodeIdurltitle会员后台description siteMapNodeurl\Membership\Register.aspx title用户注册 description / siteMapNodeurl\Membership\Login.aspx title用户登录 description / siteMapNodeurl\Membership\UserModify.aspxtitle修改个人信息 description / siteMapNodeurl title退出登录 description / /siteMapNode siteMapNodeIdurl\Admin\Default.aspxtitle管理员后台description siteMapNodeurltitle用户管理description siteMapNodeurl\Admin\UserList.aspxtitle管理用户description / siteMapNodeurl\Admin\UserStateManage.aspxtitle状态管理description / siteMapNodeurl\Admin\UserDetails.aspx title修改用户资料 description / /siteMapNode siteMapNodeurltitle图书管理description siteMapNodeurl\Admin\CategoryManage.aspxtitle添加图书分类description / siteMapNodeurl\Admin\BookCategory.aspxtitle为书籍分类description / siteMapNodeurl\Admin\BookDetail.aspxtitle图书详细信息description / siteMapNodeurl\Admin\BookList.aspxtitle图书列表description / siteMapNodeurl\Admin\RecomBookList.aspxtitle推荐图书description / /siteMapNode siteMapNodeurltitle订单管理description siteMapNodeurl\Admin\OrderList.aspxtitle审核订单description / siteMapNodeurl\Admin\OrderDetail.aspxtitle详细订单description / /siteMapNode siteMapNodeurl\Membership\LoginOut.aspxtitle退出description管理员退出 /siteMapNode /siteMapNode /siteMapNode
/siteMap TreeView.xml
Booksurldefault.aspxtitle新书推荐description Booktitle C#urlBookList.aspx?typeid1description / Booktitle.NETurlBookList.aspx?typeid25description / BooktitleASP.NETurlBookList.aspx?typeid29description / BooktitleBasic VB VB ScripturlBookList.aspx?typeid16description / BooktitleC C VC VCurlBookList.aspx?typeid15description / BooktitleCSS DivurlBookList.aspx?typeid4description / BooktitleHTML XMLurlBookList.aspx?typeid22description / BooktitleJ2EEurlBookList.aspx?typeid2description / BooktitleJava Script JavaurlBookList.aspx?typeid21description / BooktitleJSPurlBookList.aspx?typeid31description / BooktitlePerlurlBookList.aspx?typeid26description / BooktitleWINDOWSurlBookList.aspx?typeid35description / Booktitle电子商务urlBookList.aspx?typeid38description / Booktitle计算机等级考试urlBookList.aspx?typeid17description / Booktitle计算机理论urlBookList.aspx?typeid20description / Booktitle其他urlBookList.aspx?typeid28description / Booktitle网站开发urlBookList.aspx?typeid27description /
/Books Aspx代码 HTMLcssjavascript布局
普通控件
label/label
nbsp;//表示空格
//页面链接
a hrefRegister.aspx还没有注册/a
//单选框
input typecheckbox name checkedchecked /
//图片链接
img srcImages/login_in.gif alt会员登录 /
//调用css
link hrefCss/member.css relstylesheet typetext/css /
//表单用form
form idform1 runatserver/form
//引用页面
% Page TitleLanguageC# MasterPageFile/Admin/Admin.master AutoEventWireuptrueCodeFileDefault.aspx.cs InheritsAdmin_Default %
//内容载体控件
asp:Content IDContent1 ContentPlaceHolderIDContentPlaceHolder1 RunatServer管理员首页
/asp:Content Javascript
script languagejavascript function checkInput() { var loginId document.getElementById(txtLoginId).value; if (loginId ) { alert(用户名不能为空); return false; } var pwd document.getElementById(txtLoginPwd).value; var pwdAgain document.getElementById(txtPwdAgain).value; if (pwd ! pwdAgain) { alert(两次输入的密码不一致); return false; } return true; }
/script
script languagejavascript function selectAll(checkAll) { var items document.getElementsByTagName(input); for (i 0; i items.length; i) { if (items[i].type checkbox) { items[i].checked checkAll.checked; } } }
/script Asp控件
//下拉框 数据来自属性中items
asp:DropDownList IDddlCategory runatserver Width172px AutoPostBackTrue onselectedindexchangedddlCategory_SelectedIndexChanged1/ //输入框
asp:TextBox IDtxtLoginPwd runatserver TextModePassword CssClassopt_input/ //按钮
asp:Button IDbtnRegister runatserver Text确定了马上提交 CssClassopt_sub onclickbtnRegister_Click / 网格视图列名来自属性Columns数据来自cs文件操作 asp:GridView IDgvBooks runatserver AllowPagingTrue
AutoGenerateColumnsFalse BackColorLightGoldenrodYellow BorderColorTan BorderWidth1px CellPadding2 ForeColorBlack GridLinesNone onpageindexchanginggvBooks_PageIndexChanging onrowdataboundgvBooks_RowDataBound Width771px AlternatingRowStyle BackColorPaleGoldenrod / Columns
asp:TemplateField ItemStyle-Width60px ItemStyle-HorizontalAlignCenter HeaderTemplate asp:CheckBox IDCheckBox2 runatserver Text全选 onclickselectAll(this) / /HeaderTemplate ItemTemplate asp:CheckBox IDCheckBox1 runatserver / /ItemTemplate ItemStyle HorizontalAlignCenter Width60px/ItemStyle /asp:TemplateField asp:BoundField DataFieldTitle HeaderText书名 / asp:BoundField DataFieldauthor HeaderText作者 / asp:TemplateField HeaderText出版社/asp:TemplateField asp:BoundField DataFieldUnitPrice HeaderText单价 / /Columns FooterStyle BackColorTan / HeaderStyle BackColorTan Font-BoldTrue / PagerStyle BackColorPaleGoldenrod ForeColorDarkSlateBlue HorizontalAlignCenter / SelectedRowStyle BackColorDarkSlateBlue ForeColorGhostWhite / SortedAscendingCellStyle BackColor#FAFAE7 / SortedAscendingHeaderStyle BackColor#DAC09E / SortedDescendingCellStyle BackColor#E1DB9C / SortedDescendingHeaderStyle BackColor#C2A47B / /asp:GridView
树状结构:调用web.sitemap文件数据 div idsubnav
asp:TreeView IDTreeView1 runatserver DataSourceIDSiteMapDataSource1 /asp:TreeView br / asp:SiteMapDataSource IDSiteMapDataSource1 runatserver ShowStartingNodeFalse StartingNodeUrl/Admin/Default.aspx / /div
位置选择内容控件 div idbreadcrumb您现在的位置
asp:SiteMapPath IDSiteMapPath1 runatserver /asp:SiteMapPath /div div asp:ContentPlaceHolder IDContentPlaceHolder1 runatserver /asp:ContentPlaceHolder /div
判断是否为空 asp:RequiredFieldValidator IDRequiredFieldValidator1 runatserver ControlToValidatetxtLoginPwd ErrorMessage密码不能为空/
两次密码相同 asp:CompareValidator IDCompareValidator1 runatserver ControlToComparetxtLoginPwd ControlToValidatetxtPwdAgain DisplayDynamic ErrorMessage两次密码不一致/
邮件格式
asp:RegularExpressionValidator IDRegularExpressionValidator1 runatserver ControlToValidatetxtEmail ErrorMessageEmail格式不正确 ValidationExpression\w([.]\w)\w([-.]\w).\w([-.]\w)*/
手机格式
asp:RegularExpressionValidator IDRegularExpressionValidator2 runatserver ControlToValidatetxtPhone ErrorMessage手机号码格式不正确 ValidationExpression1\d{10}/
出生日期格式
asp:CompareValidator IDCompareValidator2 runatserver ControlToValidatetxtBirthday ErrorMessage出生日期格式不正确 OperatorLessThan TypeDate/
提供验证码
asp:TextBox IDtxtCode CssClassopt_input runatserver/ cc1:SerialNumber IDsnCode runatserver/
Alert asp:Literal IDlitAlert runatserver/ Aspx.cs代码:页面逻辑
//调用实体类和BLL层操作数据
using BookShop.BLL;
CategoryManager categoryManager new CategoryManager();
BookManager bookManager new BookManager();
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { bindCategory(); categoryId Convert.ToInt32(ddlCategory.SelectedValue); bindBooks(); }
} set data to widget
private void bindCategory() { ddlCategory.DataSource categoryManager.GetCategories(); ddlCategory.DataTextField Name; ddlCategory.DataValueField Id; ddlCategory.DataBind(); }
set data to gridView widget private void bindBooks() { gvBooks.DataSource bookManager.GetBooks(categoryId); gvBooks.DataBind();
} protected voidgvBooks_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType DataControlRowType.DataRow) { e.Row.Attributes.Add(onmouseover, currentColorthis.style.backgroundColor;this.style.backgroundColorred); e.Row.Attributes.Add(onmouseout, this.style.backgroundColorcurrentColor); } } //
protected voidgvBooks_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvBooks.PageIndex e.NewPageIndex; categoryId Convert.ToInt32(ddlCategory.SelectedValue); bindBooks(); }
Category selectedIndexChaged
protected voidddlCategory_SelectedIndexChanged1(object sender, EventArgs e) { categoryId Convert.ToInt32(ddlCategory.SelectedValue); bindBooks();
} onClickListener
UserManager userManager new UserManager(); protected void btnLogin_Click(object sender, EventArgs e) { string loginId txtLoginId.Text.Trim(); string loginPwd txtLoginPwd.Text.Trim(); BookShop.Models.User user new BookShop.Models.User(); string message ; if(userManager.Login(loginId, loginPwd, ref user, ref message)) { if (user.UserRole.Name 管理员) Response.Redirect(/Admin/Default.aspx); else Response.Redirect(~/Default.aspx); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), alertError, scriptalert( message )/script); } }
Note //可以用Literal控件的Text属性存放脚本客户端不会生成任何其他标记只有脚本 // litAlert.Text scriptalert(验证码错误)/script; //可以用Label控件的Text属性存放脚本但客户端会生成一个span标记来存放脚本 // lblAlert.Text scriptalert(验证码错误)/script; //将脚本生成在/form之前 消息框弹出时可以看到页面其他内容 Page.ClientScript.RegisterStartupScript(this.GetType(), jsCodeError, scriptalert(验证码错误)/script); //将脚本生成在form标记之后 消息框弹出时看不到页面其他内容 //Page.ClientScript.RegisterClientScriptBlock(this.GetType(),jsCodeError, scriptalert(验证码错误)/script); //将脚本生成在Html的顶部 消息框弹出时看不到页面其他内容 //Response.Write(scriptalert(验证码错误)/script); 方法实现
SqlParameter SqlParameter[] para new SqlParameter[] { new SqlParameter(BookId,bookrating.BookId), new SqlParameter(UserId,bookrating.User.Id), new SqlParameter(Rating,bookrating.Rating), new SqlParameter(Comment,bookrating.Comment) }; SqlDataReader
using (SqlDataReader reader SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, sql, new SqlParameter(Id, id))) { if (reader.Read()) { category new Category(); category.Id (int)reader[Id]; category.Name (string)reader[Name]; category.PId (int)reader[PId]; } } Traverse to Get List
public ListBookRatings GetBookRatings(int bookId) { return new BooksRatingService().GetBookRatings(bookId); } private ListBookRatings GetBookRatings(string safeSql) { ListBookRatings list new ListBookRatings(); DataSet ds SqlHelper.ExecuteDataset(this.connection, CommandType.Text, safeSql); if (ds.Tables.Count 0) { DataTable dt ds.Tables[0];
//castdata to models by traversing dataRow foreach (DataRow row in dt.Rows) { BookRatings brating new BookRatings(); brating.Id (int)row[Id]; brating.BookId (int)row[BookId]; brating.Rating (int)row[Rating]; int userId (int)row[userid]; brating.User new UserService().GetUserById(userId); brating.Comment (string)row[Comment]; brating.CreatedTime (DateTime)row[CreatedTime]; list.Add(brating); } } return list; }
- 上一篇: 网站型和商城型有什么区别建盏
- 下一篇: 网站性能优化杭州网站专业制作
相关文章
-
网站型和商城型有什么区别建盏
网站型和商城型有什么区别建盏
- 技术栈
- 2026年03月21日
-
网站行业新闻怎么做完成网站开发需要什么样技术
网站行业新闻怎么做完成网站开发需要什么样技术
- 技术栈
- 2026年03月21日
-
网站信息内容建设责任制落实情况网页设计的注意事项
网站信息内容建设责任制落实情况网页设计的注意事项
- 技术栈
- 2026年03月21日
-
网站性能优化杭州网站专业制作
网站性能优化杭州网站专业制作
- 技术栈
- 2026年03月21日
-
网站修改域名服务器多用户商城系统在哪里找
网站修改域名服务器多用户商城系统在哪里找
- 技术栈
- 2026年03月21日
-
网站虚拟交易技术怎么做炫酷的移动端网站设计
网站虚拟交易技术怎么做炫酷的移动端网站设计
- 技术栈
- 2026年03月21日



