我有一个HTML Helper,它实质上呈现从HTML文件中读取的静态内容(在vdir中)。在某些情况下,HTML文件定义了title元素,在这种情况下,当前页面应使用给定的标题。应该在视图中引用Helper类的位置呈现正文内部的内容。
这就是我给助手打电话的方式。
<%=Html.StaticContent("staticcontent.htm",
new List<StaticContentTag>()
{
new StaticContentTag()
{TagKey=ReplaceTags.MarketName,
TagValue = "Austin"}
}, Model, true) %>
我正在传递ViewModel以便我可以设置标题,最后一个参数是一个标志,表示是否强制标题。
头部的标题定义如下。
<title><%=Model.Title%></title>
我甚至在调用帮助程序之前通过引用Model.Title元素知道我在做错了什么。关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
我相信在你在你的视图中调用html助手之前会呈现你的标题标签。帮助程序的目的是呈现html标记,它们被调用的地方不会改变已经渲染的标记的内容,这些标记可以通过javascript完成。但是我不会在我的视图中使用所有新关键字。相反,我会制作一个视图模型,包含视图的所有必需信息,然后我就没有问题编写语句
<title><%=Model.title%></title>