2010-05-23 69 views

回答

2

HtmlHelpers是爲了那個。一個更好的選擇是創建一個HtmlHelper,它將生成您需要的標籤,並且您只需將對象傳遞給它(從視圖中的Model或ViewData),併爲您輸出適當的標籤。有一個TagBuilder對象可以簡化您需要的所有內容。

public static string MyHtmlHelper(this HtmlHelper html, string url) 
{ 
     TagBuilder tag = new TagBuilder("a"); 
     tag.Attributes.Add("href", url); 
     return tag.ToString(); 
} 

然後在您的視圖:

<%= Html.MyHtmlHelper(ViewData["MyUrl"].ToString()) %> 

這僅僅是一個簡單的例子,你可以推斷它根據自己的喜好。

搜索asp.net mvc html helpers瞭解這是如何工作以及擴展方法如何工作。

+0

好的我想生成一個jQuery樹狀圖,它將有一系列的ul和li,你現在也可以用同樣的方法嗎? – maztt 2010-05-23 20:42:28

+0

是的,我願意。你肯定會因爲你很可能需要循環,我寧願在.cs文件中有一個循環而不是.aspx/.ascx文件。 – Omar 2010-05-23 22:09:06

+0

您可以使用一個部分視圖(.ascx),該視圖需要一個表示您的樹視圖的模型,但我需要知道該場景的確切細節才能正確決定。 – Omar 2010-05-23 23:15:15

1

沒有什麼錯用一個StringBuilder只要你正確逃避它組裝HTML和視圖渲染它,

但是,這是糟糕的設計。
控制器應該不知道演示文稿;所有的HTML都應該在視圖中。
你想做什麼?

+0

我正在渲染jquery treeview – maztt 2010-05-23 20:39:05