我正在尝试使用 razor 视图引擎在 asp.net mvc 中渲染面板(很像缩略图或 Web 部件),当我必须一次渲染它们时它很容易,因为我有一个视图和所有渲染逻辑就在那里。
但是当我不得不向面板组添加一个新面板时,我的问题就开始了,这是我的观点:
@model IEnumerable<FonteDeNoticia>
<div class="row">
<div class="form-group col-lg-8">
<div class="input-group">
<input id="txtUrl" type="text" class="form-control" placeholder="Url">
<span class="input-group-btn">
<button id="btnAdicionarUrl" class="btn btn-default" type="button">Add</button>
</span>
</div>
</div>
</div>
<div id="fontesDeNoticia" class="row-fluid">
@foreach (var fonte in Model)
{
<div class="col-lg-2 col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><a href="@fonte.Link" target="_new">@fonte.Nome <span class="badge badge-info">42</span></a><span class="iconeClicavel"><a><i class="icon-remove pull-right"></i></a></span><span class="iconeClicavel"><a><i class="icon-gear pull-right"></i></a></span></h3>
</div>
<ul class="list-group">
@foreach (var noticia in fonte.Noticias.Take(3))
{
<li class="list-group-item">
<a class="linkDeNoticia" href="@noticia.Link" target="_new">@noticia.Titulo</a>
<small class="dataDeNoticia">- @noticia.DataDePublicacao</small>
</li>
}
</ul>
</div>
</div>
}
</div>
所以我开始意识到需要改变一些东西......我尝试使用 DisplayForModel,但是我渲染面板的方式很重要,我无法让它工作。
然后我考虑将 foreach 渲染为 for 循环中的局部视图,但我认为它的性能一定很糟糕!
对此有什么想法吗?