最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

MVC4制作網(wǎng)站教程第四章 更新欄目4.3

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:36:33
文檔

MVC4制作網(wǎng)站教程第四章 更新欄目4.3

MVC4制作網(wǎng)站教程第四章 更新欄目4.3:序 一、用戶 二、用戶組 三、欄目 3.1添加欄目 3.2瀏覽欄目 3.3更新欄目 上次在樹形列表里面點(diǎn)擊欄目名稱后跳轉(zhuǎn)到詳細(xì)信息頁面~/Category/ManageDetails/id。在詳細(xì)頁面里點(diǎn)修改,來完成欄目資料修改。 先打開【CategoryController】
推薦度:
導(dǎo)讀MVC4制作網(wǎng)站教程第四章 更新欄目4.3:序 一、用戶 二、用戶組 三、欄目 3.1添加欄目 3.2瀏覽欄目 3.3更新欄目 上次在樹形列表里面點(diǎn)擊欄目名稱后跳轉(zhuǎn)到詳細(xì)信息頁面~/Category/ManageDetails/id。在詳細(xì)頁面里點(diǎn)修改,來完成欄目資料修改。 先打開【CategoryController】


 一、用戶
 二、用戶組
 三、欄目
3.1添加欄目
3.2瀏覽欄目 
3.3更新欄目 

上次在樹形列表里面點(diǎn)擊欄目名稱后跳轉(zhuǎn)到詳細(xì)信息頁面~/Category/ManageDetails/id。在詳細(xì)頁面里點(diǎn)修改,來完成欄目資料修改。

 先打開【CategoryController】添加[ManageDetails(int id)]action 

/// <summary>
 /// 欄目詳細(xì)資料
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public ActionResult ManageDetails(int id)
 {
 categoryRsy = new CategoryRepository();
 var _node = categoryRsy.Find(id);
 if (_node == null)
 {
 Error _e = new Error { Title = "欄目不存在", Details = "欄目不存在", Cause = Server.UrlEncode("<li>欄目已經(jīng)刪除</li>"), Solution = Server.UrlEncode("<li>返回<a href='" + Url.Action("Manage", "Cayegory") + "'>欄目欄目管理</a></li>") };
 return RedirectToAction("ManageError", "Prompt", _e);
 }
 ModuleRepository _moduleRsy = new ModuleRepository();
 var _modules = _moduleRsy.List(true);
 List<SelectListItem> _slimodule = new List<SelectListItem>(_modules.Count());
 foreach (Module _module in _modules)
 {
 if (_node.Model == _module.Model) _slimodule.Add(new SelectListItem { Text = _module.Name, Value = _module.Model, Selected = true });
 else _slimodule.Add(new SelectListItem { Text = _module.Name, Value = _module.Model });
 }
 ViewData.Add("Model", _slimodule);
 var _type = TypeSelectList;
 _type.SingleOrDefault(t => t.Value == _node.Type.ToString()).Selected = true;
 ViewData.Add("Type", _type);
 return View(_node);
 }

代碼先是看欄目是否存在,不存在跳轉(zhuǎn)到錯(cuò)誤頁面,后面是添加"Model“和“Type”的ViewData
右鍵添加強(qiáng)類型視圖ManageDetails.cshtml,內(nèi)容基本與ManageAdd.cshtml類似 

@model Ninesky.Models.Category

@{
 ViewBag.Title = "欄目信息";
 Layout = "~/Views/Layout/_Manage.cshtml";
}

<div class="workspace">
 <div class="inside">
 <div class="notebar">
 <img alt="" src="~/Skins/Default/Manage/Images/Category.gif" />欄目信息
 </div>

 @using (Html.BeginForm("ManageUpdate","Category"))
 {
 @Html.ValidationSummary(true)

 <fieldset>
 <legend>詳細(xì)資料</legend>
 <ul>
 @Html.HiddenFor(model => model.CategoryId)
 <li>
 <div class="editor-label">
 @Html.LabelFor(model => model.CategoryId)
 </div>
 <div class="editor-field">
 @Html.DisplayTextFor(model => model.CategoryId)
 </div>
 </li>
 <li>
 <div class="editor-label">
 @Html.LabelFor(model => model.Name)
 </div>
 <div class="editor-field">
 @Html.EditorFor(model => model.Name)
 @Html.ValidationMessageFor(model => model.Name)
 </div>
 </li>
 <li>
 <div class="editor-label">
 @Html.LabelFor(model => model.ParentId)
 </div>
 <div class="editor-field">
 @Html.TextBoxFor(model => model.ParentId, new { @class = "easyui-combotree", data_options = "url:'" + Url.Action("JsonTreeParent", "Category") + "'" })
 @Html.ValidationMessageFor(model => model.ParentId)
 </div>
 </li>
 <li>
 <div class="editor-label">
 @Html.LabelFor(model => model.Type)
 </div>
 <div class="editor-field">
 @Html.DropDownList("Type")
 @Html.ValidationMessageFor(model => model.Type)
 </div>
 </li>
 <li id="li_model">
 <div class="editor-label">
 @Html.LabelFor(model => model.Model)
 </div>
 <div class="editor-field">
 @Html.DropDownList("Model")
 @Html.ValidationMessageFor(model => model.Model)
 </div>
 </li>
 <li id="li_categoryview">
 <div class="editor-label">
 @Html.LabelFor(model => model.CategoryView)
 </div>
 <div class="editor-field">
 @Html.EditorFor(model => model.CategoryView)
 @Html.ValidationMessageFor(model => model.CategoryView)
 </div>
 </li>
 <li id="li_contentview">
 <div class="editor-label">
 @Html.LabelFor(model => model.ContentView)
 </div>
 <div class="editor-field">
 @Html.EditorFor(model => model.ContentView)
 @Html.ValidationMessageFor(model => model.ContentView)
 </div>
 </li>
 <li id="li_nav">
 <div class="editor-label">
 @Html.LabelFor(model => model.Navigation)
 </div>
 <div class="editor-field">
 @Html.EditorFor(model => model.Navigation)
 @Html.ValidationMessageFor(model => model.Navigation)
 </div>
 </li>
 <li>
 <div class="editor-label">
 @Html.LabelFor(model => model.Order)
 </div>
 <div class="editor-field">
 @Html.EditorFor(model => model.Order)
 @Html.ValidationMessageFor(model => model.Order)
 </div>
 </li>
 <li>
 <div class="editor-label">
 <input id="Submit1" type="submit" value="修改" />
 </div>
 <div class="editor-field">
 
 </div>
 
 </li>
 </ul>
 </fieldset>
 }
 </div>
</div>
<div class="left">
 <div class="top"></div>
 @Html.Action("ManagePartialTree", "Category")
</div>
<div class="split"></div>
<div class="clear"></div>
<script type="text/javascript">
 Details();
 $("#Type").change(function () {
 Details();
 });
 function Details() {
 var v = $("#Type").val();
 if (v == "0") {
 $("#li_model").show();
 $("#li_categoryview").show();
 $("#li_contentview").show();
 $("#li_nav").hide();
 $("#Navigation").val("");
 }
 else if (v == "1") {
 $("#li_model").hide();
 $("#li_categoryview").show();
 $("#li_contentview").hide();
 $("#ContentView").val("");
 $("#li_nav").hide();
 $("#Navigation").val("");
 }
 else if (v == "2") {
 $("#li_model").hide();
 $("#li_categoryview").hide();
 $("#CategoryView").val("");
 $("#li_contentview").hide();
 $("#ContentView").val("");
 $("#li_nav").show();
 }
 }
</script>
@section Scripts {
 @Styles.Render("~/EasyUi/icon")
 @Scripts.Render("~/bundles/EasyUi")
 @Scripts.Render("~/bundles/jqueryval")
}

注意的是 @using (Html.BeginForm("ManageUpdate","Category"))這句;表示點(diǎn)修改按鈕的后是向ManageUpdate提交數(shù)據(jù)。下面開始做這個(gè)action 

在【CategoryController】里添加httppost方式的[ManageUpdate]action 

/// <summary>
 /// 修改欄目信息
 /// </summary>
 /// <param name="category"></param>
 /// <returns></returns>
 public ActionResult ManageUpdate(Category category)
 {
 switch (category.Type)
 {
 case 0:
 category.Navigation = "";
 break;
 case 1:
 category.Model = "";
 category.ContentView = "";
 category.Navigation = "";
 break;
 case 2:
 category.Model = "";
 category.CategoryView = "";
 category.ContentView = "";
 break;
 }
 categoryRsy = new CategoryRepository();
 if (categoryRsy.Update(category))
 {
 Notice _n = new Notice { Title = "修改欄目成功", Details = "修改欄目成功!", DwellTime = 5, NavigationName = "欄目詳細(xì)信息", NavigationUrl = Url.Action("ManageDetails", "Category", new { id = category.CategoryId }) };
 return RedirectToAction("ManageNotice", "Prompt", _n);
 }
 else
 {
 Error _e = new Error { Title = "修改欄目失敗", Details = "在修改欄目信息時(shí),未能保存到數(shù)據(jù)庫", Cause = "系統(tǒng)錯(cuò)誤", Solution = Server.UrlEncode("<li>返回<a href='" + Url.Action("ManageDetails", "Category", new { id = category.CategoryId }) + "'>欄目詳細(xì)資料</a>頁面,修改信息后重新操作</li><li>聯(lián)系網(wǎng)站管理員</li>") };
 return RedirectToAction("ManageError", "Prompt", _e);
 }
 }

很簡(jiǎn)單,首先是判斷欄目類型,根據(jù)欄目類型清除無關(guān)數(shù)據(jù),然后將修改保存到數(shù)據(jù)庫。
試一下將“測(cè)試欄目”改成“公司簡(jiǎn)介” 

保存成功!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MVC4制作網(wǎng)站教程第四章 更新欄目4.3

MVC4制作網(wǎng)站教程第四章 更新欄目4.3:序 一、用戶 二、用戶組 三、欄目 3.1添加欄目 3.2瀏覽欄目 3.3更新欄目 上次在樹形列表里面點(diǎn)擊欄目名稱后跳轉(zhuǎn)到詳細(xì)信息頁面~/Category/ManageDetails/id。在詳細(xì)頁面里點(diǎn)修改,來完成欄目資料修改。 先打開【CategoryController】
推薦度:
標(biāo)簽: 制作 教程 網(wǎng)頁
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top