日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MVC4做网站六后台管理:6.2网站信息设置

發布時間:2025/5/22 c/c++ 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC4做网站六后台管理:6.2网站信息设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用來實現網站標題、名稱、關鍵字、描述、版權等信息的設置。

模型字段:

網站的設置信息前后臺都要用到,所以要把模型方式Ninesky/Models文件夾中,代碼如下:

//// //網站設置模型 //創建日期2013-8-1 //修改日期2013-8-4 ///using System.ComponentModel.DataAnnotations;namespace Ninesky.Models {/// <summary>/// 網站信息設置/// </summary>public class SiteConfig{[Key]public int Id { get; set; }/// <summary>/// 網站名稱/// </summary>[Required(ErrorMessage="必須輸入網站名稱!")][StringLength(50,MinimumLength=4, ErrorMessage="必須是4-50個字符!")][Display(Name="網站名稱",Description="必填,4-50個字符。")]public string Name { get; set; }/// <summary>/// 網站標題/// </summary>[Required(ErrorMessage = "必須輸入網站標題!")][StringLength(50, MinimumLength = 4, ErrorMessage = "必須是4-50個字符!")][Display(Name = "網站標題", Description = "必填,4-50個字符。")]public string Title { get; set; }/// <summary>/// 網站地址/// </summary>[Required(ErrorMessage = "必須輸入網站地址!")][StringLength(50, MinimumLength = 4, ErrorMessage = "必須是4-50個字符!")][Display(Name = "網站地址", Description = "必填,4-50個字符。")]public string Url { get; set; }/// <summary>/// Logo地址/// </summary>[StringLength(255, ErrorMessage = "必須少于255個字符!")][Display(Name = "Logo地址", Description = "小于255個字符。")]public string LogoUrl { get; set; }/// <summary>/// Meta描述語/// </summary>[Required(ErrorMessage = "必須輸入Meta描述語!")][StringLength(500, ErrorMessage = "描述語之間用“,”隔開,必須少于500個字符!")][Display(Name = "Meta描述語", Description = "小于500個字符。")][DataType(DataType.MultilineText)]public string MetaDescription { get; set; }/// <summary>/// Meta關鍵字/// </summary>[Required(ErrorMessage = "必須輸入Meta關鍵字!")][StringLength(500, ErrorMessage = "關鍵字之間用“,”隔開,必須少于500個字符!")][Display(Name = "Meta關鍵字", Description = "小于500個字符。")][DataType(DataType.MultilineText)]public string MetaKeywords { get; set; }/// <summary>/// 版權信息/// </summary>[Required(ErrorMessage = "必須輸入版權!")][StringLength(500, ErrorMessage = "必須少于500個字符!")][Display(Name = "版權信息", Description = "支持Html,小于500個字符。")][DataType(DataType.MultilineText)]public string Copyright { get; set; }} }

同樣在Ninesky/Repository文件夾中添加接口InterfaceSiteConfig

using Ninesky.Models;namespace Ninesky.Repository {/// <summary>/// 網站設置信息接口/// <remarks>/// 版本v1.0/// 創建2013.8.4/// </remarks>/// </summary>public interface InterfaceSiteConfig{/// <summary>/// 查找設置/// </summary>/// <returns></returns> SiteConfig Find();/// <summary>/// 保存設置/// </summary>/// <param name="siteConfig">設置</param>/// <returns></returns>bool Save(SiteConfig siteConfig);} }

再添加SiteConfigRepository.cs

using Ninesky.Models; using System.Linq;namespace Ninesky.Repository {/// <summary>/// <remarks>/// 版本v1.0/// 創建2013.8.4/// </remarks>/// </summary>public class SiteConfigRepository:InterfaceSiteConfig{private NineskyContext nineskyContext;/// <summary>/// 查找設置/// </summary>/// <returns></returns>public SiteConfig Find(){using (nineskyContext = new NineskyContext()){return nineskyContext.SiteConfig.SingleOrDefault();}}/// <summary>/// 保存設置/// </summary>/// <param name="siteConfig">設置</param>/// <returns></returns>public bool Save(SiteConfig siteConfig){using (nineskyContext = new NineskyContext()){if (nineskyContext.SiteConfig.Count() == 0) nineskyContext.SiteConfig.Add(siteConfig);else{nineskyContext.SiteConfig.Attach(siteConfig);nineskyContext.Entry<SiteConfig>(siteConfig).State = System.Data.EntityState.Modified;}return nineskyContext.SaveChanges() > 0;}}} }

后臺部分:

在~/Areas/Admin/Controllers中添加SystemController.cs

添加局部視圖action public PartialViewResult Config() 及保存處理的action public JsonResult Config(SiteConfig siteConfig)

/// <summary>/// 基本信息設置/// </summary>/// <returns></returns>public PartialViewResult Config(){var _siteConfig = new SiteConfigRepository().Find();if (_siteConfig == null) _siteConfig = new SiteConfig() { Id = 0, Name = "NineSky", Title = "歡迎光臨NineSky!" };return PartialView(_siteConfig);}/// <summary>/// Config保存/// </summary>/// <param name="siteConfig"></param>/// <returns></returns> [HttpPost]public JsonResult Config(SiteConfig siteConfig){JsonData _jdata = new JsonData();if (ModelState.IsValid){var _scRsy = new SiteConfigRepository();if (_scRsy.Save(siteConfig)){_jdata.Success = true;_jdata.Message = ("保存成功√");}else{_jdata.Success = false;_jdata.Message = ("保存數據時發生錯誤");}}else{_jdata.Success = false;var _eItem = ModelState.Where(m => m.Value.Errors.Count > 0);foreach (var i in _eItem){_jdata.MessageLsit.Add(i.Key, "驗證失敗!");}_jdata.Message = ("保存數據時發生錯誤");}return Json(_jdata);}

為action 添加視圖

@model Ninesky.Models.SiteConfig<div class="c_navbar">網站設置 >> 基本信息</div>@using (Html.BeginForm("Config", "System", FormMethod.Post, new { id = "siteconfig_form" })) {@Html.AntiForgeryToken()<div class="fs_wapper"><div class="header">網站設置 @Html.HiddenFor(model => model.Id)</div>@Html.ValidationSummary()<table><tr><th>@Html.LabelFor(model => model.Name)</th><td>@Html.EasyuiInput(model=>model.Name,new{@class="easyui-validatebox"})@Html.DisplayDescriptionFor(model => model.Name)</td> </tr><tr><th>@Html.LabelFor(model => model.Title)</th><td>@Html.EasyuiInput(model=>model.Title,new{@class="easyui-validatebox"})@Html.DisplayDescriptionFor(model => model.Title)</td></tr><tr><th>@Html.LabelFor(model => model.Url)</th><td>@Html.EasyuiInput(model => model.Url, new { @class = "easyui-validatebox" })@Html.DisplayDescriptionFor(model => model.Url)</td></tr><tr><th>@Html.LabelFor(model => model.LogoUrl)</th><td>@Html.EasyuiInput(model => model.LogoUrl, new { @class = "easyui-validatebox" })@Html.DisplayDescriptionFor(model => model.LogoUrl)</td></tr><tr><th>@Html.LabelFor(model => model.MetaDescription)</th><td>@Html.EasyuiInput(model => model.MetaDescription, new { @class = "easyui-validatebox" }, "textarea")@Html.DisplayDescriptionFor(model => model.MetaDescription)</td></tr><tr><th>@Html.LabelFor(model => model.MetaKeywords)</th><td>@Html.EasyuiInput(model => model.MetaKeywords, new { @class = "easyui-validatebox" }, "textarea")@Html.DisplayDescriptionFor(model => model.MetaKeywords)</td></tr><tr><th>@Html.LabelFor(model => model.Copyright)</th><td>@Html.EasyuiInput(model => model.Copyright, new { @class = "easyui-validatebox" }, "textarea")@Html.DisplayDescriptionFor(model => model.Copyright)</td></tr><tr><th></th><td><a id="save" href="javascript:void()" class="easyui-linkbutton">保存</a></td></tr></table></div> } <script type="text/javascript">$(document).ready(function () {$("#save").click(function () {ConfigSubmit();});}); </script>

在\Areas\Admin\Scripts文件件中添加System.js文件

//Config頁提交 function ConfigSubmit() {$('#siteconfig_form').form('submit', {success: function (data) {var rt = jQuery.parseJSON(data);if (rt.Success) {$.messager.alert("保存成功", rt.Message);}else {var msg = "";if (rt.MessageLsit != undefined) {$.each(rt.MessageLsit, function (i, val) {msg += "<li>" + i + ":" + val + "</li>";});}if (msg != "") msg = rt.Message + "<br /> <p> 原因如下:" + "<ul>" + msg + "</ul></p>";else msg = rt.Message;$.messager.alert("保存失敗", msg, "error");}}}); }

完工

前臺的調用:

打開前臺布局頁_Layout.cshtml。

在頂部獲取網站信息

隨后在布局頁調用相應字段

進首頁看一下,已經顯示出來了。

==========================

代碼見http://pan.baidu.com/s/1rG1vH

轉載于:https://www.cnblogs.com/mzwhj/p/3420465.html

總結

以上是生活随笔為你收集整理的MVC4做网站六后台管理:6.2网站信息设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。