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


    在mvc中,显示一个指向某action的链接,可以用Html.ActionLink

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

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

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

    image

    Html为:

    image

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

    如果是Ajax.ActionLink呢

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

    image

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

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

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

    @Ajax.ActionLink("<img />", "index", new AjaxOptions {UpdateTargetId="updiv",OnSuccess="dosomthing"}).WriteHtml()
    image 
    a下面已经包含有一个img元素
     
    扩展方法很简单
    public static IHtmlString WriteHtml(this MvcHtmlString str)
    {
        return new HtmlString(HttpUtility.HtmlDecode(str.ToString()));
    }
    

    输出各种html

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

    image

    对Html.ActionLink,Ajax.ActionLink都好使

  • 相关阅读:
    jQuery 选择器
    使用JQuery获取对象的几种方式
    多层架构+MVC+EF+AUTOFAC+AUTOMAPPER
    ASP.NET 2.0服务器控件开发的基本概念(转载)
    系统构架设计应考虑的因素
    超级面试题
    架构的点滴
    程序员的职业素养---转载
    imovie的快速入门
    实用的设计模式【二】——类的组织
  • 原文地址:https://www.cnblogs.com/czcz1024/p/2284799.html
Copyright © 2020-2023  润新知