2010-09-23 55 views
0

我有一個HTML助手,基本上呈現從HTML文件(vdir內)讀取靜態內容。在某些情況下,HTML文件定義了標題元素,在這種情況下,當前頁面應該使用給定的標題。正文中的內容應該呈現在視圖中引用Helper類的位置。從HtmlHelper類設置頁面標題

這就是我稱之爲幫手的方式。

  <%=Html.StaticContent("staticcontent.htm", 
           new List<StaticContentTag>() 
            { 
             new StaticContentTag() 
             {TagKey=ReplaceTags.MarketName, 
             TagValue = "Austin"} 
            }, Model, true) %> 

我傳遞的視圖模型,這樣我可以設置標題和最後一個參數是說是否強制標題與否的標誌。

頭部的標題像這樣定義。

<title><%=Model.Title%></title> 

我甚至在調用助手之前通過引用Model.Title元素知道我在做什麼錯了。關於如何解決這個問題的任何想法?

回答

1

我相信你的標題標記是在你調用html助手之前呈現的。幫助者的目的是在他們被調用的地方呈現html標籤,而不是改變已經通過javascript完成的已經呈現的標籤的內容。但是我不會在我的視圖中使用所有新的關鍵字。而是我會做一個視圖模型包含視圖的所有必要信息,然後我會沒有問題書面聲明

<title><%=Model.title%></title> 
+0

你說的是正確的穆罕默德。標題在助手HTML執行之前得到呈現。這是我正在測試的初步代碼。我保證我會將所有的init代碼移入ViewModel :)我需要一些關於如何推送標題的想法。 JS也許?使用js的 – Praveen 2010-09-23 16:48:26

+0

可以在onload事件中寫入document.title =「<%= Model.title%>」 – 2010-09-23 17:05:57