将@ Url.Content作为ASP MVC中的参数传递

时间:2012-03-12 09:46:46

标签: asp.net-mvc url razor

我正在使用剃须刀生成器在ASP MVC中构建自定义控件。它将图像作为参数。我希望能够像我一样在我的视图中调用方法

 @Html.MyMethod(@Url.Content("~/Content/images/photo1.jpg"))

我想知道@ Url.Content的类型是什么,以便我可以在MyMethod的定义中声明它。

感谢。

2 个答案:

答案 0 :(得分:2)

此处您不需要第二个@。返回类型Url.ContentSystem.String

答案 1 :(得分:2)

MyMethod可以带一个字符串,因为Content返回一个字符串:

public static IHtmlString MyMethod(this HtmlHelper helper, string url)
{
    return new MvcHtmlString("<img src=\"" + url + "\" />");
}

此外,您不需要@运算符:

@Html.MyMethod(Url.Content("~/Content/images/photo1.jpg"))