asp.net-mvc – ASP.NET MVC – 构建URL或链接的HTML扩展方法
发布时间:2020-12-16 07:26:38 所属栏目:asp.Net 来源:网络整理
导读:考虑一种扩展方法,其目的是: 渲染 a标签 在某些情况下,只返回没有链接的字符串 问题:在扩展方法中,如何利用路由值等适当的路由逻辑,而不是对字符串进行硬编码.我怀疑HtmlHelper.GenerateRouteLink是解决方案的一部分,但请建议实现这一目标的最佳方法. publ
考虑一种扩展方法,其目的是:
>渲染< a>标签 问题:在扩展方法中,如何利用路由值等适当的路由逻辑,而不是对字符串进行硬编码.我怀疑HtmlHelper.GenerateRouteLink是解决方案的一部分,但请建议实现这一目标的最佳方法. public static string CreateUserLink(this HtmlHelper html,string userAcctName) { if (string.IsNullOrEmpty(userAcctName)) return "--Blank--"; //some lookup to A.D. DomainUser user = ADLookup.GetUserByAcctName(userAcctName); if (user == null) return userAcctName; //would like to do this correctly! return string.Format("<a href='/MyAppName/User/View/{0}' title='{2}'>{1}</a>",user.Mnemonic,user.DisplayName,user.Location); //normally returns http://mysite.net/MyAppName/User/View/FOO } 更多信息: >使用ASP.NET MVC 1.0 解决方法
我昨天不得不做类似的事情.可能有一种更为流畅的方式,但它可以帮助我准确地看到发生了什么,所以我不承担任何责任.
public static string CreateUserLink(this HtmlHelper html,string userAcctName) { if (string.IsNullOrEmpty(userAcctName)) return "--Blank--"; //some lookup to A.D. DomainUser user = ADLookup.GetUserByAcctName(userAcctName); if (user == null) return userAcctName; RouteValueDictionary routeValues = new RouteValueDictionary(); routeValues.Add("controller","User"); routeValues.Add("action","View"); routeValues.Add("id",user.Mnemonic); UrlHelper urlHelper = new UrlHelper(html.ViewContext.RequestContext); TagBuilder linkTag = new TagBuilder("a"); linkTag.MergeAttribute("href",urlHelper.RouteUrl(routeValues)); linkTag.MergeAttribute("title",user.Location); linkTag.InnerHtml = user.DisplayName; return linkTag.ToString(TagRenderMode.Normal); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-2 – 隐藏字段作为ASP.NET MVC2应用程序中的(重
- Owin错误与ASP.NET MVC应用程序
- asp.net-core – ClaimTypes的ASP.NET要求
- asp.net-mvc – 无论如何让mvc框架验证我的action参数,就像
- asp.net-mvc-3 – 为什么我的IgnoreRoute不起作用?
- asp.net-mvc – 多个MVC项目结构
- DxPackNet 4.保存音视频为本地avi文件
- 每组ASP.Net中继器头(即月份)
- .net – 是否必须在自定义实现中覆盖默认的成员资格提供程序
- asp.net – 如何在Visual Studio 2015中运行index.html文件
推荐文章
站长推荐
热点阅读