您的位置:首页 > 编程语言 > ASP

asp.net mvc 使用Html.ActionLink显示图片链接

2011-12-12 14:29 716 查看
在mvc中,显示一个指向某action的链接,可以用Html.ActionLink

@Html.ActionLink("text","index")

其中text是链接a显示的文字,如果希望链接加在一个图片上,用这样的方式就会有问题了

@Html.ActionLink("<img/>","index")





Html为:





当然,对于这种情况,我们可以用Url.Action来解决

如果是Ajax.ActionLink呢

@Ajax.ActionLink("<img/>","index",newAjaxOptions{UpdateTargetId="updiv",OnSuccess="dosomthing"})





当使用Ajax.ActionLink时,mvc自动为我们添加了一些a元素上得属性,他和jquery.unobtrusive-ajax.js一起作用,实现了很方便的ajax功能。

遗憾的是同样不同输出html代码,如果这个也要用Url.Action的话,那一堆属性都得自己手写,实在是。。。

使用扩展方法,对Ajax.ActionLink生成的结果(MvcHtmlString)做一些处理

@Ajax.ActionLink("<img/>","index",newAjaxOptions{UpdateTargetId="updiv",OnSuccess="dosomthing"}).WriteHtml()


a下面已经包含有一个img元素
扩展方法很简单
publicstaticIHtmlStringWriteHtml(thisMvcHtmlStringstr)
{
returnnewHtmlString(HttpUtility.HtmlDecode(str.ToString()));
}


输出各种html

@Ajax.ActionLink("<spanstyle='color:red'>text</span>","index",newAjaxOptions{UpdateTargetId="updiv",OnSuccess="dosomthing"}).WriteHtml()





对Html.ActionLink,Ajax.ActionLink都好使
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: