问题标签 [asp.net-mvc-routing]

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 回答
3323 浏览

asp.net-mvc-routing - 嵌套文件夹中的自定义 ASP.NET MVC 路由

我想要我的 MVC 应用程序中的子文件夹,所以当前的路线不会削减它。

我有一个文件夹结构,例如

我想要一个 URL,例如http://myapp/Accounts/ClientBalances/MyReport. 您如何通过映射路线实现这一目标?我有过狂欢,但我对他们不是很了解。我以为它会沿着

我没有运气。有任何想法吗?

0 投票
1 回答
1620 浏览

asp.net-mvc - 在 ASP.NET MVC 中,如何在动作中接收参数字典?

我的控制器中的大多数操作都有静态定义的参数列表,因此它们与标准教程示例很好地对应:

但是我有一个麻烦的情况,视图动态地将表单组合在一起,因此参数集是完全动态的。我会对字符串名称到字符串值的映射感到满意。

我试过这个:

而是args通过了一个null. 获取我们这些天在错误消息中经常听到的著名“参数字典”的最简单方法是什么?

如果没有简单的方法,我将如何以艰难的方式做到这一点?

0 投票
3 回答
147 浏览

asp.net-mvc - 书呆子晚餐控制器

在本页面:

http://nerddinnerbook.s3.amazonaws.com/Part4.htm

添加控制器后,我可以浏览http://localhost:xxxx/dinners并按预期工作。我的问题是它怎么知道使用“晚餐”?“晚餐”在哪里?我的控制器被命名为 DinnersController,所以 Dinners 这个词是如何变得有意义的。我在我的 Linq to SQL 或其他任何地方都没有看到它。我确定我忽略了一些明显的东西。

这是代码:

晚餐"); }

" + id + ""); }

“晚饭”从何而来?

感谢您的任何帮助。

编辑:在发布并看到 global.asax 之前,我在文章中进一步阅读,但我不明白它是如何映射到晚餐的:

0 投票
5 回答
1090 浏览

asp.net-mvc - 服务器端图像映射的 ASP.NET MVC 路由

我有<input type='image'>一个 ASP.NET MVC 视图,但我不确定如何在提交表单时运行的操作中检索坐标。请求的 URL 看起来像

但我不能只做

因为它们显然不是 C# 方法参数的有效名称。是否有任何等效的ActionName属性将查询参数映射到方法参数?

0 投票
1 回答
4455 浏览

asp.net-mvc - ASP.NET MVC:在表单提交时添加到查询字符串

我在 ASP.NET MVC 中构建一个网格,我有以下问题:

  • 在网格上方,我有一个列选择器,可以让人们自定义显示的列。这是一个带有提交按钮的表单,因此人们可以一次添加/删除多个列,而无需经过多次回发。
  • 在网格下方我有分页。这是通过动作链接(a href's)进行分页。

替代文字 http://thomasstock.net/mvcget.jpg

当用户添加/删除列时会发生什么情况是表单被提交到http://localhost:56156/?columnsToDisplay=EmployeeId并且网格当然会跳回第 1 页。我想将网格保留在页面上用户当前处于开启状态。所以我需要一种将当前查询字符串参数包含到表单的 action 属性中的方法。

反过来也一样:我需要一种方法来对动作链接做同样的事情。但这不太必要,因为我总是可以用按钮替换 a href 并将它们放在一个表单中。但我宁愿不那样做。

我正在寻找没有 javascript 的解决方案!我可以自己用 javascript 来做,但我希望我的网格能在禁用 javascript 的浏览器上完美运行。

任何帮助表示赞赏。

编辑:哦,是的,为了让它更难一点,我也在寻找一个没有 cookie/会话变量的解决方案。:-)

0 投票
3 回答
8617 浏览

asp.net-mvc - 处理 MVC 中的无效 URL

如何处理 MVC 中的无效 URL?

例如:当用户输入http://localhost/User/MyProfile而不是 http://localhost/User/Profile时,它​​会抛出异常。

如何处理这个请求?

0 投票
2 回答
2868 浏览

asp.net-mvc - MVC、动态路由、Unity、判断当前控制器是否存在于global.asax中

我想要做的是我的应用程序的动态路由。

例如,在 Application_BeginRequest() 中,我想获取当前控制器并确定它是否存在。如果没有,我想添加一组覆盖默认路由的路由,以便我的 url 看起来像这样

mysite.com/term 来自数据库

但是,如果“来自数据库的术语”是一个有效的控制器,我希望它使用默认路由

我已经按照我想要的方式制定了路线。现在我只需要获取当前控制器并确定它是否存在。如果我不添加我的自定义路线,我会收到此错误:

IControllerFactory 'MySite.Web.UnityControllerFactory' 没有为名为 'term from database' 的控制器返回控制器。

有没有办法使用全局统一来确定控制器是否存在?

谢谢!

0 投票
3 回答
29127 浏览

asp.net-mvc - ASP.NET MVC切换语言,如何实现?

我已经开始将我的简单网站转换为 ASP.NET MVC,只是为了弄乱它。我在那里有一个切换语言功能,基本上将 Session["language"] 设置为另一种语言并刷新页面。如果这可以做得更好,请纠正我,但我为此制作了两个控制器并在那里设置会话。问题是最后的路由。我可以以某种简洁的方式刷新页面,还是可以获取当前操作并将其重新路由到该操作?或者这更像是 Ajax 的一个场景?

感谢您的建议!

0 投票
1 回答
207 浏览

asp.net-mvc - 尝试路由以“。”结尾的路径时出现问题。

我正在尝试路由这样的路径:

路由框架没有将此作为有效路由并给我一个“找不到资源”错误。任何人都知道我该如何解决这个问题?它甚至没有到达我的控制器工厂,所以就好像它甚至没有将其识别为路线或可能正在寻找实际文件。

我对这样的类似路线没有任何问题:

但是任何时候我都会以“。”结束一个网址。它不路由它。如果我这样做,它会起作用:

我设置的路线如下所示:

0 投票
1 回答
900 浏览

asp.net-mvc - 扩展 Asp.Net MVC 路由机制

我在 ASP.Net mvc 的路由机制中发现了一个限制,我正在尝试找到一种解决方法。

我在这里发布了一个关于我遇到的问题的相关问题。

问题的要点是路由以 . (句点)从不被默认路由机制处理。总是抛出“找不到资源”错误。例如它不能处理这些 url:

如果我将它更改为这样的查询字符串参数,它可以正常工作:

我正在尝试在路由机制中找到一个可帮助我解决此问题的可扩展点。我尝试过其他类似的解决方案:

我猜 Response.Redirect 和 Server.Transfer 会抛出错误,因为在 MVC 中你应该从控制器调用 RedirectToAction 方法。当然,我什至无法到达控制器。

考虑到 Wikipedia 使用的 Apache 服务器可以很好地处理这个问题,这似乎是一个很大的限制。试试http://en.wikipedia.org/wiki/Washington,_D.C. 如果有人可以请在这里提供一些帮助,我将不胜感激。