使用Ajax.ActionLink和Html.ActionLink获取<a><img/></a>时如何创建Image超链接

时间:2011-11-08 01:00:37

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

我需要有一个图像而不是可点击的文本并使用MVC助手。尝试以下是徒劳的,也尝试使用MvcHtmlString.Create()来提供错误:

                        @Ajax.ActionLink(Url.Content("~/Content/extremepc/rightarrow.png"), "Index", "Store", new { category = Model.category, page = Model.PagingInfo.CurrentPage + 1 }, 
               new AjaxOptions
   {
       UpdateTargetId = "Everything",

       Url = Url.Action("StoreContent", "Store", new { category = Model.category, page = Model.PagingInfo.CurrentPage + 1 })
   })

1 个答案:

答案 0 :(得分:1)

不幸的是,您必须手动呈现链接 这可能需要您的Ajax辅助方法付出很多努力,因此您最好将其包装在AjaxHelper扩展方法中。

对于几个类似的解决方案,请参阅此非常相似的问题 Html.ActionLink as a button or an image, not a link

如果Html.ActionLink(以及所有其他帮助者)允许label参数接受HtmlString,那将是非常棒的...我真的很惊讶不是已经是这样了!
但是,由于MVC框架是开源的,因此复制AjaxHelper方法并修改它们以使用HtmlString而不是String实际上并不困难。