2011-03-23 80 views
0

我在論壇上詢問this的問題,關於靜態鏈接助手,但我還沒有答案。所以我決定創建自己的幫手。如何在asp.net MVC中創建我的自定義幫助器?

我試圖創建一個幫手靜態鏈接

<a href='xx'>yy</a> 

但顯示HTML代碼。

使用:

<div> 
@Html.Link("www.google.com", "Google") 
</div> 

結果:

<a href="www.google.com">Google</a> 

見我的課:

public static class BindHelper 
{ 
    public static TagBuilder Link(this HtmlHelper helper, string targetUrl, string text) 
    { 
     TagBuilder imglink = new TagBuilder("a"); 
     imglink.MergeAttribute("href", targetUrl); 
     imglink.InnerHtml = text; 
     return imglink; 
    } 
} 

如何創建自己的幫手? 已經在幾個網站上進行了研究,並且一些擴展方法在其他類TagBuilder中返回了一個字符串,但它們都顯示頁面上的HTML代碼

回答

4

返回MvcHtmlString。這就是MVC內部所做的。它(稍微)實現IHtmlString,它告訴HTML編碼器不要重新編碼該值。

還要將您的名稱空間添加到web.config的構建配置部分。

+0

但在項目不是MVC的情況下? – ridermansb 2011-03-23 14:27:37

+0

在示例中,它指向http:// localhost:3400/Riderman.Sample.AMSD/Views/Home/www.google.com – ridermansb 2011-03-23 14:36:08

+0

@Riderman - 您必須包含'http://'。 – 2011-03-23 15:50:59

相關問題