加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 用任意内容封装可重用视图部分(即tile,portlet)

发布时间:2020-12-16 09:37:46 所属栏目:asp.Net 来源:网络整理
导读:我仍然在使用MVC并且在一个使用大量“磁贴”的网站上工作(你知道,通常的“带有标准化标题的矩形部分和一些内容”模式)用于视觉显示.没有什么花哨的东西,只是一种将内容放入盒子以便于布局和导航的方法.目前,“瓷砖”(我的术语)是这样构建的: div class="til
我仍然在使用MVC并且在一个使用大量“磁贴”的网站上工作(你知道,通常的“带有标准化标题的矩形部分和一些内容”模式)用于视觉显示.没有什么花哨的东西,只是一种将内容放入盒子以便于布局和导航的方法.目前,“瓷砖”(我的术语)是这样构建的:

<div class="tile">
    <div class="tile-header">
        <h2>Title</h2>
    </div>
    <div class="tile-body">
        (arbitrary content)
    </div>
</div>

注意:“任意内容”是指静态或动态的任何内容,因此不一定能插入变量并传递给帮助器,我需要更多的灵活性.

我的问题是,用什么方法来封装这个模式并使代码调用更容易/更具表现力?我知道部分视图,但是如何将任意正文内容传递给局部视图? (这可能只是我对MVC展示的有限知识)

我尝试像这样构建Razor助手:

@Tile.Begin("Title")
    (arbitrary content)
@Tile.End()

但Razor窒息,因为我不能包括“瓦片体”关闭div. (如果我这样做,那么我必须将正文内容作为字符串变量传递,这并不总是可行的)

我可以看到这样的事情:

@using (Tile.Begin("Title")) {
    (arbitrary content)
}

这对我来说似乎是最优雅的,虽然不像@Tile.Begin()和@Tile.End()调用那样容易扫描.根据我的理解,我将不得不创建一个类并实现IDisposable,但是当我尝试从帮助器类返回一串原始HTML标签时,它只是将编码的标签语法写入屏幕,所以我假设我遇到了这个问题一样吗?

谢谢你的建议.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读