0
我想在示例MVC項目中創建自定義的Html助手。爲img創建強類型定製助手標記
這裏是我到目前爲止已經完成:
public static MvcHtmlString ImageFor<TModel,TValue>(this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel,TValue>> expression,
string alternateText,
object htmlAttributes)
{
ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
string name = ExpressionHelper.GetExpressionText(expression);
TagBuilder tagBuilder = new TagBuilder("img");
tagBuilder.MergeAttribute("src", metadata.Model.ToString());
tagBuilder.MergeAttribute("alt", alternateText);
tagBuilder.MergeAttribute("name", name);
return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing));
}
在我的控制,我傳遞圖像路徑屬性(imgUrl的)。
當我嘗試爲它創建標籤時,它不會在瀏覽器上給我image
,而是始終顯示備用文本。
這是它的呈現標記。
<img name="imageUrl" alt="alernate" src="C:\Users\Administrator\Desktop\down.png"/>
雖然我已經做了鬆散類型幫手@Html.Image
,它的作品完美!
我的代碼出了什麼問題。
我已經搜索了很多創建Strongly Typed Helpers
,但沒有一個教程向我解釋當我們訪問強類型助手時發生了什麼。
我也看過帖子在SO中,當有人發佈有關幫手的代碼時,它只是一段代碼而沒有任何解釋。
如果有人有創建強類型的自定義助手的教程,它給出了一個breif請分享鏈接。
+1哦。我只是忘了偷看這個問題。謝謝。你可以發佈任何教程,如果你有創建強類型的自定義助手,它提供了一個在後臺發生的事情breif。 – 2013-02-28 10:56:56
請參閱[在ASP.NET MVC中自定義強類型HtmlHelpers](http://www.codeproject.com/Tips/389747/Custom-strongly-typed-HtmlHelpers-in-ASP-NET-MVC)以獲取一些指導。 – 2013-02-28 11:01:29
我已經看過了。我有一些關於msdn的視頻。謝謝。接受爲答案 – 2013-02-28 11:06:38