ASP.NET MVC公共替代UrlHelper.GenerateUrl
我想在我的页面中嵌入一个控制器动作的链接,以便我可以从javascript使用它。 就像是
var pollAction = '/Mycontroller/CheckStatus'
现在我很乐意对它进行硬编码,但如果有一种方法可以用来创建URL,那将会非常好。 AjaxHelper / HtmlExtensions包含创建超链接的方法(.ActionLink(…)等),但如果你研究它们的内容,它们依赖于一个名为UrlHelper.GenerateUrl()的方法将控制器和动作解析为一个url。 这是内部的,所以我无法真正理解这一点。
有人在框架中找到了一个很好的方法吗? 或者我必须自己动手?
你有没有试过这些方面的东西?
var pollAction = '<%=Url.Action("CheckStatus", "MyController") %>';
如果您的页面或控件inheritance自ViewPage
或ViewUserControl
,请使用Url.Action
方法。
如果没有,请改用:
String url = RouteTable.Routes.GetVirtualPath ( ((MvcHandler) HttpContext.Current.CurrentHandler).RequestContext, new RouteValueDictionary ( new { controller = "MyController", action = "CheckState", id = idParameter } ) ).VirtualPath;
将它放在代码隐藏的方法中,然后从HTML视图中调用它。
- web.config转换从web.template.xml无法正常工作
- 在日期时间只在剃刀中获得MM / dd / yyyy
- asp.net mvc – 包含元关键字和描述等SEO信息的策略
- 使用cshtml的Visual Studio 2013 Autoformat(CTRL KD)小写问题
- Visual Studio Online构建失败 – 本地工作
- 如何获取列表中项的ModelState键
- 如何在ASP.NET中开发的Azure Web App上获取客户端的IP地址?
- 如何从URL或路径数据中获取控制器类型和操作信息?
- 在Entity Framework支持的Web API 2 POST调用中返回一个对象以及409 Conflict错误?