asp.net-mvc – 如何使用图像呈现动作链接?
发布时间:2020-12-16 09:31:22 所属栏目:asp.Net 来源:网络整理
导读:我知道使用 Html.ActionLink()来呈现文本 a href ...“链接到操作. 如何呈现指向具有基础图像作为链接的操作的链接? a href="foo"img src="asdfasdf"//a 解决方法 这是我使用的ImageLink HtmlHelper扩展的代码. /* * Image Link HTML helper */ /// summary
我知道使用
Html.ActionLink()来呈现文本< a href ...“>链接到操作.
如何呈现指向具有基础图像作为链接的操作的链接? <a href="foo"><img src="asdfasdf"/></a> 解决方法
这是我使用的ImageLink HtmlHelper扩展的代码.
/* * Image Link HTML helper */ /// <summary> /// return image link /// </summary> /// <param name="helper"></param> /// <param name="imageUrl">URL for image</param> /// <param name="controller">target controller name</param> /// <param name="action">target action name</param> /// <param name="linkText">anchor text</param> public static string ImageLink(this HtmlHelper helper,string imageUrl,string controller,string action,string linkText) { return ImageLink(helper,null,controller,action,linkText,imageUrl,null); } /// <summary> /// return image link /// </summary> /// <param name="helper"></param> /// <param name="imageUrl">URL for image</param> /// <param name="controller">target controller name</param> /// <param name="action">target action name</param> /// <param name="linkText">anchor text</param> /// <param name="htmlAttributes">anchor attributes</param> public static string ImageLink(this HtmlHelper helper,string linkText,object htmlAttributes) { return ImageLink(helper,new RouteValueDictionary(htmlAttributes),null); } /// <summary> /// return image link /// </summary> /// <param name="helper"></param> /// <param name="imageUrl">URL for image</param> /// <param name="controller">target controller name</param> /// <param name="action">target action name</param> /// <param name="linkText">anchor text</param> /// <param name="htmlAttributes">anchor attributes</param> /// <param name="routeValues">route values</param> public static string ImageLink(this HtmlHelper helper,object htmlAttributes,object routeValues) { return ImageLink(helper,new RouteValueDictionary(routeValues)); } /// <summary> /// return image link /// </summary> /// <param name="helper"></param> /// <param name="id">Id of link control</param> /// <param name="controller">target controller name</param> /// <param name="action">target action name</param> /// <param name="strOthers">other URL parts like querystring,etc</param> /// <param name="strImageURL">URL for image</param> /// <param name="alternateText">Alternate Text for the image</param> /// <param name="strStyle">style of the image like border properties,etc</param> /// <returns></returns> public static string ImageLink(this HtmlHelper helper,string id,string strImageURL,string alternateText,string strStyle) { return ImageLink(helper,id,strImageURL,alternateText,strStyle,null); } /// <summary> /// return image link /// </summary> /// <param name="helper"></param> /// <param name="id">Id of link control</param> /// <param name="controller">target controller name</param> /// <param name="action">target action name</param> /// <param name="linkText">anchor text</param> /// <param name="strImageURL">URL for image</param> /// <param name="alternateText">Alternate Text for the image</param> /// <param name="strStyle">style of the image like border properties,etc</param> /// <param name="htmlAttributes">html attribues for link</param> /// <returns></returns> public static string ImageLink(this HtmlHelper helper,string strStyle,IDictionary<string,object> htmlAttributes,RouteValueDictionary routeValues) { // Build the img tag TagBuilder image = new TagBuilder("img"); image.MergeAttribute("src",strImageURL); image.MergeAttribute("alt",alternateText); image.MergeAttribute("valign","middle"); image.MergeAttribute("border","none"); TagBuilder span = new TagBuilder("span"); // Create tag builder var anchor = new TagBuilder("a"); var url = new UrlHelper(helper.ViewContext.RequestContext).Action(action,routeValues); // Create valid id anchor.GenerateId(id); // Add attributes //anchor.MergeAttribute("href","/" + controller + "/" + action); //form target URL anchor.MergeAttribute("href",url); anchor.MergeAttribute("class","actionImage"); if (htmlAttributes != null) anchor.MergeAttributes(new RouteValueDictionary(htmlAttributes)); // place the img tag inside the anchor tag. if (String.IsNullOrEmpty(linkText)) { anchor.InnerHtml = image.ToString(TagRenderMode.Normal); } else { span.InnerHtml = linkText; anchor.InnerHtml = image.ToString(TagRenderMode.Normal) + " " + span.ToString(TagRenderMode.Normal); } // Render tag return anchor.ToString(TagRenderMode.Normal); //to add </a> as end tag } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何获取针对Razor View Engine的IntelliSe
- asp.net-mvc – Asp.Net MVC – “动态”路由的最佳方法
- asp.net-mvc-3 – 检查ViewBag是否具有属性,以有条件地注入
- asp.net – Datagrid:计算页脚中列的平均值或总和
- asp.net-mvc-4 – “你没有权限查看这个目录或页面.”在IIS
- asp.net-mvc – 如何允许用户在ASP.NET MVC中创建永久链接?
- asp.net – Dotnetopenauth,从facebook范围检索电子邮件
- asp.net-mvc – 如何将HTML表单转换为C#以进行PayPal订阅
- Asp.net托管相当于Dreamhost(定价,功能和支持)
- asp.net-core – 如何将在TagHelper流程方法中生成的脚本渲
推荐文章
站长推荐
- ASP.NET MVC伪本地化
- asp.net – AjaxFileUpload不会触发OnUploadComp
- asp.net – 禁用按钮但看起来很活跃
- 如何在Asp.Net identity 2中手动检查密码?
- asp.net-mvc-3 – 带Razor的条件显示元素
- asp.net-mvc – 命中错误:在解析器和自定义注册
- asp.net-mvc-3 – 首先使用代码禁用整数主键上的
- asp.net – 什么是aspnet_Users和aspnet_Members
- asp.net-web-api – ExtensionlessUrlHandler和“
- asp.net-mvc – 从基本控制器继承LINQ-to-SQL数据
热点阅读