问题标签 [urlhelper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
662 浏览

asp.net-mvc - UrlHelper.Action() 跳过空属性

下面的模型有两种使用方式:

当在表单中使用模型时,生成的 URL 有空参数 Date ( /Controller/Action?Date=&SomeOtherParams=123) 并且Date模型中的属性是null(在提交带有空日期的表单后)。

该模型也用作第三个参数UrlHelper.Action()

在这种情况下,如果Date为 null,则生成的 URL 不包含参数 Date( /Controller/Action?SomeOtherParams=123)。如果我关注此 URL,则属性DateDateTime.Now,而不是预期的 null 。

如何强制将空属性传递给 URL?

UPD。动作代码

实际上,而不是TextBoxForused DropDownListFor

如果他想查看所有实体,用户可以从下拉菜单中选择日期或将其留空。

如果用户提交带有空日期的表单,他会跟随 URL/Controller/Action?Date=并获取所有实体(日期属性在构造函数中使用默认值初始化,然后用 null 覆盖)。

如果用户通过@Url.Action从其他页面生成的 url(不提交表单)跟随,他只会得到今天的实体,因为 URL 不包含 Date 参数(/Controller/Action)。在这种情况下 Date 属性在构造函数中初始化,这就是全部。

问题是model从不MyAction等于 null,我无法识别用户何时选择空日期以及何时访问没有参数的页面。

0 投票
1 回答
1695 浏览

c# - 在 ASP.NET MVC 3 中生成独立于控制器的 URL

我有一个 mvc 3 应用程序,它有一个后台线程检查某些数据库项的状态。当它发现一个过期的项目时,它会发送一封电子邮件。在电子邮件中,我想包含要调用以查看状态的操作的 url。如果这是从控制器完成的,我将使用 UrlHelper,例如:

但是,我不在控制器中,也不是从控制器调用我的方法,它是在应用程序启动时启动的。有没有办法生成一个有效的 UrlHelper,或者,如果没有,在独立于控制器时生成一个有效的 URL 而不诉诸硬编码路径?

0 投票
1 回答
23483 浏览

asp.net-mvc - 从 WebAPI 生成路由 URL 到 MVC 控制器操作

我习惯于使用类似于以下内容的 MVC 控制器操作中的其他控制器操作生成路由 URL:

但是我还需要能够从 webapi 中生成 MVC 控制器操作的 URL,我将如何去做呢?

APIController 上似乎有一个 UrlHelper 属性,但我找不到任何有关如何使用它的示例,并且我自己也无法弄清楚。

更新:我试图生成一个 url 的原因是这个特定的 webapi 方法发送了一封电子邮件,该电子邮件为收件人提供了一个链接,以将用户引导回网站的适当部分。我显然想摆脱硬编码,因为它不适用于不同的部署,而且如果我开始更改路由,此链接将被破坏。有没有更好的方法来做到这一点?

0 投票
1 回答
7468 浏览

asp.net-mvc - 在 ASP.NET MVC 中模拟 Controller.Url.Action(string, string, object, string)

我使用NUnitMoq库进行单元测试。我需要模拟重载的 Url.Action(string, string, object, string),因为我的控制器的操作使用它来获取 Action 的绝对网址

我现在的尝试(看看MockUrlAction测试):

并且在线

我得到一个例外

对我来说很奇怪,它controller.Url.Action("TestAction")工作正常,但controller.Url.Action("TestAction", null, null, "http")没有。

PS MvcMoqHelpers.FakeHttpContext() 来自这里,也许它有助于回答这个问题。

所以问题是:我怎样才能得到 Url.Action(string, string, object, string) 的嘲笑?

谢谢。

0 投票
1 回答
203 浏览

asp.net-mvc - 避免在 UrlHelper.Action 和 ModelState.AddModelError 中使用硬编码字符串

我有以下代码行:

对于 UrlHelper.Action 方法和 ModelState.AddModelError 方法,我想避免使用硬编码字符串。有没有更好的可能性?

0 投票
0 回答
667 浏览

urlhelper - UrlHelper.Action 返回空字符串

非常奇怪的问题,我花了几个小时但无法找到究竟是什么问题。我有一些代码如下:

当使用 string.Empty 作为 routeValues 时,“urlHelper.Action(actionName, controllerName, routeValues)”在我的本地开发机器上运行良好。(Windows 7、IIS 7.5、.Net 4.0、MVC3)它返回正确的 url。

但它在我们的持续集成服务器上返回空字符串。(Windows 服务器 2008、IIS 7.0、.Net 4.0、MVC3)

这是路由配置:
routes.MapRoute(
"MyRouteName",
"getaddresses/{postcode}/",
new { controller = "Address", action = "GetAddresses", postcode = string.Empty },
new { httpMethod = new HttpMethodConstraint ("GET") }, new[] { "My.Package.Controllers" });

如果我使用一些字符串而不是 string.Empty 作为 RouteValues,它在两台机器上都运行良好。

似乎该问题是由开发机器和 CI 机器上的不同配置或不同版本的工具或框架引起的。有人可以帮忙吗?

为了让您更好地理解这个问题,以下是上下文:团队正在使用 .Net 3.5、Visual Studio 2010、MVC2。我将它们升级到 .Net 4.0、Visual Studio 2012、MVC3。在我的本地开发机器上一切都很好。我在 CI 服务器上安装了 .Net 4.0 和 MVC3(与开发机器的安装文件不同,因为它们与 Visual Studio 一起安装)。该网站在 CI 服务器上运行良好。唯一的问题是一次冒烟测试失败,它期望调用AbsoluteAction("action name", "controller name", new {postcode=string.Empty})时返回"localhost/getaddresses",但实际上是"localhost "

希望我已经很好地描述了这个问题。:)

非常感谢!

0 投票
4 回答
3805 浏览

zend-framework2 - 在 Zend Framework 2 中扩展 Zend\View\Helper\Url

我写了一个简单的 url 视图助手,它扩展Zend\View\Helper\Url并附加到ViewHelperManager

MyNamespace\View\Helper\Url

Application\Module

现在应用程序抛出异常:

致命错误:在 /var/www/foo/bar/vendor/zendframework/zendframework/library/Zend/View/Helper/Url.php 中未捕获异常 'Zend\View\Exception\RuntimeException' 并带有消息 'No RouteStackInterface instance provided'第 76 行

Zend\View\Exception\RuntimeException:第 76 行的 /var/www/foo/bar/vendor/zendframework/zendframework/library/Zend/View/Helper/Url.php 中没有提供 RouteStackInterface 实例

我调试了两个Url类。使用了wenn MyNamespace\View\Helper\Url,没有调用方法Zend\View\Helper\Url#setRouter(...),也没有设置路由器。不明白为什么...

如何让它工作?

0 投票
1 回答
987 浏览

ruby-on-rails - 在 Rails 中,未知模型的 URL 助手是什么?

我试图在 Rails 中找到一个模型,我不一定知道 rake 任务中的类(所以它不在 .erb 中)。

我知道我可以这样做:

但是如果我不一定知道模型怎么办?打开 model.class 或任何其他此类检查似乎不是 Rails-y。我只是在寻找模型的默认路径或 url。

编辑:为了澄清我所说的默认路径,它是你在做 link_to 时得到的 href;即,您可以这样做:

没有指定像 model_path 这样的 url 助手。这就是我要找的。

0 投票
1 回答
77 浏览

ruby-on-rails - 评论 url 助手 - 使用 rails - LinkBot?

K... 这看起来很简单,但似乎不是标准化的。我只找了几个小时,但希望这里有人能指出我正确的方向。

因此, an 的实例Object具有描述。 Object has_many comments. 例如,如果用户在其中一个字段中发布 URL,例如http://www.foodnetwork.com/recipes/ree-drummond/tequila-lime-chicken-recipe/index.html 。当我输入这个时,我在下面看到了某种东西,知道将其转换为可点击的链接。我想更进一步。我希望看到相同的链接仅转换为主 url,但仍然是实际链接,a la foodnetwork

rails 可以在运行中做这样的事情吗?有这样的宝石吗?我应该着手制作上述的 link_bot gem 吗?

在一些正确方向的指示之后,我使用了一个辅助方法,因为在模型中播放不起作用。看法:

在助手中:

干杯!

0 投票
2 回答
654 浏览

ruby-on-rails - 如何将 routes.url_helpers 包含到 rails 的视图渲染器中?

我正在尝试在我的模型中渲染 html(对于 Mandrill 内联代码),但我似乎无法让 url_helpers 正确渲染

问题.haml

模型.rb

我理想地想跑:

但是用未定义的方法轰炸包括 for actioniew::base

关于我如何解决这个问题的任何建议?