当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET MVC公共替代UrlHelper.GenerateUrl

如何解决《ASP.NETMVC公共替代UrlHelper.GenerateUrl》经验,为你挑选了2个好方法。

我想在我的页面中嵌入一个控制器动作的链接,以便我可以从javascript使用它.就像是

var pollAction = '/Mycontroller/CheckStatus'

现在我很乐意对它进行硬编码,但如果有一种方法可以用来创建URL,那将会非常好.AjaxHelper/HtmlExtensions包含创建超链接的方法(.ActionLink(...)等),但是如果你研究它们的内容,它们依赖于一个名为UrlHelper.GenerateUrl()的方法来解析控制器和动作.一个网址.这是内部的,所以我无法真正理解这一点.

有人在框架中找到了一个很好的方法吗?或者我必须自己动手?



1> mapache..:

你有没有试过这些方面的东西?

var pollAction = '<%=Url.Action("CheckStatus", "MyController") %>';



2> Michiel..:

如果您的页面或控件继承自ViewPageViewUserControl,请使用该Url.Action方法.

如果没有,请改用:

 String url = RouteTable.Routes.GetVirtualPath
              (
                ((MvcHandler) HttpContext.Current.CurrentHandler).RequestContext,
                new RouteValueDictionary
                (
                  new 
                  { 
                    controller = "MyController", 
                    action = "CheckState", 
                    id = idParameter 
                  }
                )
              ).VirtualPath;

将它放在代码隐藏的方法中,然后从HTML视图中调用它.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有