如何处理MVC2中的html模板?

时间:2010-11-13 15:16:06

标签: asp.net-mvc-2

我的(MVC2)应用程序在视图中显示多个地址 每个地址只包含一个信息子集,如firstname和lastname。请求是当鼠标悬停在结果上时,应显示完整的地址信息。

应该使用html模板。

此模板定义了应该如何显示(!)完整地址 - 但它没有定义应显示的内容(!)。
意味着可以假设完整地址始终是“名字”,“姓氏”,“街道”,“邮政编码”和“城市”(例如并保持简单)。这永远不会改变 但是,例如,html模板中的背景颜色可以从白色更改为绿色,或者姓氏的大小可以从<h1>更改为<h2> ...

解决问题的最佳方法是什么? 我更愿意写一些共享代码(关键字:ascx) 这个共享代码应该包装模板,非常简单,看起来像这样:

<div id=”mouseOver” style="display: none;" >
X_REPLACE_X
</div>

模板看起来像这个简化的例子:

FirstName: {Name}<br/>
Lastname: <h1>{Lastname}/<h1><br/>
ZipCode: {ZipCode}<br/>

然后我会通过View上的“Html.RenderPartial”渲染ascx代码,并将每个地址映射到javascript鼠标悬停功能。
javascript函数将替换模板中的占位符(如{FistName},{LastName}等),定位并显示它。

这就是我的问题:
模板不应直接放在包装器中(ascx - code)!

运行时的方法必须将“X_REPLACE_X”替换为服务器存储模板上的某个位置 因为这使我能够在不更改和发布代码的情况下更改模板!

如何管理?

有更好的解决方法吗?我应该使用ajax调用来获取变量中的模板吗?

任何帮助都会非常棒! 提前thxs!

1 个答案:

答案 0 :(得分:1)

听起来,适应显示差异的最佳方法是简单地使用不同的css类。用于完整信息的html模板不会更改,可用于所有地址,而背景颜色和文本大小之间的差异可以通过不同的css设置来处理。

相关地,我不会使用<h1></h1><h2></h2>处理不同的文字大小,而是通过css处理文本大小的公共标记(例如<span></span>)。 / p>