mvc 内容转html标签,ASP.NET MVC 动态为Html标签加css类样式实例技巧

看过我之前写的

@Html.Action("ListPart", "Article", new { categoryID = 22, top = 10 })

上面Article的ListPart的代码在这里就省略了,下面是Article\ListPart.cshtml视图的内容

@model List

@{

Layout = null;

}

-@ViewBag.CateName更多

@foreach (var item in Model)

{

@item.Title

@item.CreateTime.ToString("yyyy-MM-dd")

}

但是有时会用这样需求,需要在不同的页面调用添加不同的css类样式,而这个css类class的名字可以在调用的时候设置,这样就能够让这个局部的子Action放在任何的页面调用,只需要在css文件中添加设置的css类class相关的样式就可以了,这就让这个模块更加的灵活和易扩展。要实现这个其实也很简单,通过ASP.NET mvc视图访问RouteData的值。

首先,我们把之前的Article\ListPart.cshtml视图的内容理更改如下:

@model List

@{

Layout = null;

}

-@ViewBag.CateName更多

@foreach (var item in Model)

{

@item.Title

@item.CreateTime.ToString("yyyy-MM-dd")

}

然后,在调用的地方通过下面的方式调用:

@Html.Action("ListPart", "Article", new { categoryID = 22, top = 10, className = "ml20" })

注意:我们在调用分页列表的时候多加了一个参数className,而这个参数的值你就可以通过所有的页面的要求指定不同的值。因为我们知道ASP.NET MVC中的请求参数基本上都会封装到RoutData中,所以视图中我们用@(this.ViewContext.RouteData.Values["className"])读取这个className参数的值并把这个动态的css类加了到div的样式中。

@Html.Action("ListPart", "Article", new { categoryID = 22, top = 10, className = "ml21" })

@Html.Action("ListPart", "Article", new { categoryID = 22, top = 10, className = "ml22" })

上面调用生成的html代码分别对应:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值