基于 HtmlHelper 自定义扩展Container
2021-06-10 04:01
标签:int hub 权限 href rate basic 权限控制 tree div 基于 asp.net mvc 的权限控制系统的一部分,适用于对UI层数据呈现的控制,基于 基于 asp.net mvc 的权限控制系统示例代码:https://github.com/WeihanLi/AccessControlDemo 权限控制核心代码:https://github.com/WeihanLi/AccessControlDemo/tree/master/AccessControlHelper SparkContainer 代码: 扩展方法 使用说明: 没有权限访问时就不会将内容渲染到页面,有权限访问时实际渲染生成的 Html 如下: 如果您有什么问题或建议,欢迎与我联系 weihanli@outlook.com 基于 HtmlHelper 自定义扩展Container 标签:int hub 权限 href rate basic 权限控制 tree div 原文地址:http://www.cnblogs.com/weihanli/p/CustomContainerBasedonHtmlHelper.html基于 HtmlHelper 自定义扩展Container
Intro
HtmlHelper
的扩展组件Code
1 public class SparkContainer : IDisposable
2 {
3 private readonly string _tagName;
4 private readonly ViewContext _viewContext;
5 private readonly bool _canAccess;
6 private bool _disposed;
7
8 private readonly string _content;
9
10 public SparkContainer(ViewContext viewContext, string tagName, bool canAccess = true)
11 {
12 _viewContext = viewContext;
13 _tagName = tagName;
14 _canAccess = canAccess;
15 if (!_canAccess)
16 {
17 _content = (_viewContext.Writer as StringWriter).GetStringBuilder().ToString();
18 }
19 }
20
21 public void Dispose()
22 {
23 Dispose(true);
24 GC.SuppressFinalize(this);
25 }
26
27 protected virtual void Dispose(bool disposing)
28 {
29 if (!_disposed)
30 {
31 _disposed = true;
32 EndShopContainer();
33 }
34 }
35
36 public void EndShopContainer()
37 {
38 if (!_canAccess)
39 {
40 (_viewContext.Writer as StringWriter).GetStringBuilder().Clear().Append(_content);
41 }
42 else
43 {
44 _viewContext.Writer.Write("{0}>", _tagName);
45 }
46 }
47 }
///
Use
@using(Html.SparkContainer("div",new { @class="container",custom-attribute = "abcd" }))
{
@Html.Raw("1234")
}
1 div class="container" custom-attribute="abcd">
2 1234
3 div>
Contact
上一篇:Python模块简介
文章标题:基于 HtmlHelper 自定义扩展Container
文章链接:http://soscw.com/essay/92972.html