首页 > 扩展 > MVC > 正文

MVC4制作网站教程第四章 添加栏目4.1

2024-09-06 20:44:37
字体:
来源:转载
供稿:网友

好几天没时间写了。今天有写时间在学一点。
今天状态也不是很好,晕晕沉沉的写吧。

一、用户
二、用户组
三、栏目
3.1添加栏目
首先添加【CategoryController】控制器, 

那么我想我的视图里,首先显示的应该是栏目类型,这里应该是一个下拉框,用户可以选择“一般栏目”,“单页栏目”,“外部链接”。那么首先应该在【CategoryController】添加一个属性,用来返回栏目类型列表。 

#region Attribute public List<SelectListItem> TypeSelectList {  get  {  List<SelectListItem> _items = new List<SelectListItem>();  _items.Add(new SelectListItem { Text = CategoryType.一般栏目.ToString(), Value = ((int)CategoryType.一般栏目).ToString() });  _items.Add(new SelectListItem { Text = CategoryType.单页栏目.ToString(), Value = ((int)CategoryType.单页栏目).ToString() });  _items.Add(new SelectListItem { Text = CategoryType.外部链接.ToString(), Value = ((int)CategoryType.外部链接).ToString() });  return _items;  } } #endregion

其次,用户应该可以选择内容模型,内容模型是什么? 

内容模型就是这个栏目下可以添加内容的模型名称?这个模型名称对应的就是Models中间的模型类。为了更好的表述在系统中添加模块“Module ”的概念。模块用来指系统中用来实现相应功能的块,想新闻模块,文章模块,留言模块,图片模块,产品模块,服务模块等等,每个模块对应相应的模型和控制器,用来实现设想中的功能。系统中预置的模块用户应该可以设置启用还是关闭。 

第一应该添加内容模型类

using System.ComponentModel.DataAnnotations;namespace Ninesky.Models{ /// <summary> /// 内容模块 /// </summary> public class Module { [Key] public int ModuleId { get; set; } /// <summary> /// 模块名称 /// </summary> [Required(ErrorMessage="×")] [Display(Name="模块名称")] public string Name { get; set; } /// <summary> /// 模块模型 /// </summary> [Required(ErrorMessage = "×")] [Display(Name = "模块模型")] public string Model { get; set; } /// <summary> /// 启用模块 /// </summary> [Required(ErrorMessage = "×")] [Display(Name = "启用模块")] public bool Enable { get; set; } /// <summary> /// 说明 /// </summary> [Required(ErrorMessage = "×")] [Display(Name = "说明")] public string Description { get; set; } }}

既然有模块类,就应该有模块类的数据处理类ModuleRepository,这块功能暂时留在后面来写,先最简单的实现List(bool enable)函数让其能显示模块列表。 

using Ninesky.Models;using System.Collections.Generic;using System.Linq;namespace Ninesky.Repository{ public class ModuleRepository { public IQueryable<Module> List(bool enable) {  List<Module> _module = new List<Module>();  _module.Add(new Module { Name = "新闻模块", Model = "News", Enable = true, Description = "新闻模块" });  _module.Add(new Module { Name = "文章模块", Model = "Article", Enable = true, Description = "文章模块" });  return _module.AsQueryable(); } }}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表