asp.net mvc 利用过滤器进行网站Meta设置

过去几年都是用asp.net webform进行开发东西,最近听说过时了,同时webform会产生ViewState(虽然我已经不用ruanat=server的控件好久了 :)),对企业应用无所谓,但对于互联网应用就不太友好了,这几天学习了一下asp.net mvc,自己做了个网站玩玩(asp.net mvc + bootstrap + html5),随便也学习一下。

网站的组织:

三个网站分别为 index主站、Info信息咨询站、live视频站,利用Areas进行分开

namespace DaiWan.lol.Areas.info.Filter
{
    public class MetaInfo : ActionFilterAttribute
    {
       
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.Controller.ViewBag.meta = Meta();
        }


        private string Meta(string copyright,string keywords, string description, string author)
        {
            StringBuilder s = new StringBuilder();
            string MetaTemplate =@"<meta name = ""Copyright"" content=""#copyright#"" />
<meta name=""keywords"" content=""#keywords#"" />
<meta name=""description"" content=""#description#"" />
<meta name=""author"" content=""#author#"" />";
            return MetaTemplate.Replace("#copyright#", copyright)
                .Replace("#keywords#", keywords)
                 .Replace("#description#", description)
                 .Replace("#author#", author);
        }


        private string Meta()
        {
            string copyright = "带玩,DaiWan";
            string keywords = "英雄联盟,lol,DaiWan,Game,游戏,lol攻略,lol视频,英雄资料,英雄,攻略";
            string description = "DaiWan LOL英雄联盟,为英雄联盟玩家提供最全的英雄联盟出装攻略、英雄联盟视频、客户端下载、战斗力查询、英雄皮肤、最全的英雄资料和物品等信息,掌握第一手资料,不遗漏任何一条英雄联盟的信息,更多精彩";
            string author = "带玩游戏平台";

            return Meta(copyright, keywords, description, author);
        }
    }
}

使用

namespace DaiWan.lol.Areas.info.Controllers
{
    public class HomeController : BaseController
    {
        // GET: info/Home

         [MetaInfo]
        public ActionResult Index()
        {
            ArticleLib lib = new ArticleLib();
            IList<Article> list = lib.List();

            Mapper.CreateMap<Article, ArticleViewMode>();
            IList<ArticleViewMode> ilist = Mapper.Map<IList<ArticleViewMode>>(list);

            return View(ilist);
        }


        // GET: info/Home
        public ActionResult Detail(string guid)
        {
            ArticleLib lib = new ArticleLib();
            Article article = lib.Get(guid);

            Mapper.CreateMap<Article, ArticleViewMode>();
            ArticleViewMode articleviewmode =  Mapper.Map<ArticleViewMode>(article);

            return View(articleviewmode);
        }
    }
}

 

效果:

转载于:https://www.cnblogs.com/mmmhhhlll/p/5185536.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值