2
A
回答
2
我真的不知道爲什麼一個擴展方法是不適合的,但這樣的事情應該工作:
@helper ActionImage(string action, object routeValues, string imagePath, string alt) {
<a href="@Url.Action(action, routeValues)">
<img src="@Url.Content(imagePath)" alt="@alt">
</a>
}
這只是從我的頭頂,讓您的milage可能會有所不同。您還應該能夠將問題中提供的實現用作@functions { }
塊,而不是擴展方法。
0
這裏是我的形象HTML輔助的簡單例子
關於HTML輔助小文章,以及如何分類:G642.44它在HTML輔助的另一個
http://www.sexyselect.net/blog/post/2011/08/16/Writing-a-Razor-MVC3-HTML-Helpers
例如 http://www.aspnetwiki.com/page:creating-custom-html-helpers
示例代碼
/// <summary>
/// Insights the traffic light image.
/// </summary>
/// <param name="html">The HTML.</param>
/// <param name="trafficLight">The traffic light.</param>
/// <returns>Image for the current traffic light. If not recognised writes name ot he light.</returns>
public static MvcHtmlString InsightTrafficLightImage(this HtmlHelper html, TrafficLight trafficLight)
{
StringBuilder result = new StringBuilder();
string color = string.Empty;
string hoverText = string.Empty;
switch (trafficLight)
{
case TrafficLight.Amber:
{
color = "Yellow";
hoverText = "Work in progress";
break;
}
case TrafficLight.Green:
{
color = "green";
hoverText = "Complete";
break;
}
case TrafficLight.Red:
{
color = "red";
hoverText = "Not yet started";
break;
}
case TrafficLight.Black:
case TrafficLight.Unknown:
default:
{
break;
}
}
if (!string.IsNullOrEmpty(color))
{
TagBuilder img = new TagBuilder("img");
img.MergeAttribute("src", string.Format("/Content/images/traffic_light_{0}.gif", color));
img.MergeAttribute("alt", hoverText);
img.MergeAttribute("title", hoverText);
result.Append(img.ToString());
}
else
{
result.Append(Enum.GetName(typeof(TrafficLight), trafficLight));
}
return MvcHtmlString.Create(result.ToString());
}
希望你找到它有用
+0
我試圖找到幫助方法的解決方案..類似的方法描述在引用的鏈接,但我沒有使用@幫助方法.. – Ante 2012-02-10 10:33:16
相關問題
- 1. 創建MVC3 Razor Helper像Helper.BeginForm()
- 2. MVC3 RC Razor @helper位置
- 3. 使用Razor MVC3的發送方 - 接收方
- 4. 動作鏈接不MVC3
- 5. 圖像鏈接無法在移動設備上使用
- 6. 鏈接不是在ASP MVC3 Razor視圖正確顯示
- 7. MVC3 - Helper方法被幾個控制器使用
- 8. 使用.next()方法更新燈箱中的圖像鏈接
- 9. 超鏈接調用動作方法
- 10. 無法使圖像的鏈接
- 11. 使用pyimgur將圖像上傳到imgur,使用圖像鏈接
- 12. 使用Node/Nightwatch自動點擊圖像映射動作/鏈接
- 13. 使用的link_to使圖像的鏈接
- 14. 瀏覽器在MVC3 Razor上的圖像上扮演着不同的角色
- 15. 與動作鏈接傳遞參數的圖像
- 16. 使用許多型動物主題相同MVC3 Razor視圖
- 17. MVC3負載動態屬性到JavaScript使用Razor視圖引擎
- 18. 如何在mvc3中使用razor語法測試視圖?
- 19. MVC3 Razor提供鏈接到內存中的文件(不在磁盤上)
- 20. XmlDocument的helper方法
- 21. Helper方法Rails的
- 22. 在MVC3 Razor視圖引擎
- 23. 使用帶鏈接的MVC3 AntiforgeryToken?
- 24. ASP.NET MVC Razor - 鏈接共享 - 增加圖像大小
- 25. 我的鏈接不會在我的圖標圖像上工作
- 26. 在使用ASP.NET MVC的App_code文件夾中使用razor @helper 3
- 27. Razor中的條件鏈接
- 28. 使用圖像作爲鏈接懸停圖像
- 29. 使用javascript指定圖像的鏈接
- 30. ASP.NET MVC3中的動態表格Razor
我剛剛Google了它!我不知道從哪裏開始。由於varius依賴關係,此解決方案不能只在輔助方法中複製。 – Ante 2012-02-10 01:30:05