问题标签 [mvcroutehandler]
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.
c# - .net 核心自定义路由与 GET 参数
.Net Core MVC,假设一个自定义路由是这样的:
有没有办法设置它,如果上面路线中的 {leagueName} 是 4 个字符串之一(NHL、NFL、NBA、MLB),那么我希望它使用典型路线(区域/控制器/动作/(queryParamters ),但也使用 LeagueName 作为我的控制器上的路由参数?我不介意路由 URL 看起来像"domainname.com/FantasyDraftBoard/NHL/Controller/Action/"
。如果它在索引操作时仍然隐藏“索引”会很好
前任:
如果leagueName与这四个字符串之一不匹配,那么我希望它被忽略并将其视为常规控制器/动作路由。
注意 - 忽略顶部路线中的限制,这只是为了测试和尝试。
想法?
c# - 在自定义 HttpHandler ASP.Net MVC 5 中异步重定向响应
当响应通过任务 aync 重定向时,在客户端(浏览器)上看不到 await.Redirection。浏览器总是在等待响应。基本上我创建了一个自定义 HttpHandler ,它进一步返回 MVCHandler 因此它正在调用
我重写了这种重定向方法,但重定向正在通过另一个线程(或其他东西)。
我还尝试通过上面的编写和另一种方法使其同步。但仍然是同样的问题。有没有办法解决这个问题或阻止 MVCHandler 调用ProcessRequest
而不是BeginProcessRequest
方法?
c# - 如何获取 ASP.NET MVC 单选按钮以响应不区分大小写的路由或来自控制器的指示?
我有一个 ASP.NET MVC 应用程序,我希望根据 URL 中提供的信息检查某个单选按钮。但是(这是关键......),无论提供的路由参数的情况如何,我都希望检查正确的单选按钮。
我想我可以通过控制器中的一些代码轻松地做到这一点,该代码将采用任何情况下的路由参数并将其转换为始终为大写(以匹配分配给单选按钮的值),但到目前为止我一直不成功(并且发现了一些让我怀疑我不确切知道模型信息如何提供给我的视图的事情)。
我的路线在 RouteConfig 中设置如下:
我的控制器中的搜索操作如下所示:
我的模型:
最后,这是我认为单选按钮的设置方式:
我还在视图底部发现了一些带有一点 JavaScript 的东西,这就是让我觉得我不完全知道这些单选按钮是如何被选中的原因......
例如,
例如,无论向路由提供“Bill”还是“bill”,都以“Bill”形式出现。我假设这是由于我在控制器中编写的代码,它应该将 requestType 参数的大写版本传递给视图。
然而,我感到困惑的地方是当我这样做的时候
当向路由提供“Bill”时输出为“Bill”(太棒了!),但当我提供“bill”时输出为“未定义”(嗯?我的控制器代码发生了什么?)。
所以,我们得到了预期的结果:点击“{controller}/{action}/Bill/{billNumber}/{sessionNumber}”会导致同一个单选按钮被选中为“”{controller}/{action}/bill/{billNumber }/{会话编号}”。
实际结果:URL 中的大写“Bill”,与 Bill 单选按钮的值匹配,有效;该单选按钮将被选中。小写的“bill”不会检查任何单选按钮,我猜是因为“bill”不等于按钮的“Bill”值(尽管我认为我在控制器中考虑了这一点)。
我对 MVC 相当陌生,因此感谢您的帮助,谢谢!
asp.net-mvc-4 - 单层 MVC 路由
我需要构建一个控制器操作来处理这种模式:
example.com/aString
其中aString可以是一组任意字符串中的任何一个。控制器将循环遍历每个可能的值,如果不匹配,则重定向到 404。
我认为这只是重新编码包罗万象的问题,但到目前为止还是空白。目前使用 Sherviniv 的建议:
控制器:
如果我将我的“搜索”字符串硬编码到 route.config 中,则一切正常:
asp.net-mvc - 覆盖 MVC 中的默认路由
有什么方法可以覆盖默认路由(~/home/index)而不改变任何RouteConfig.cs,在ctrl+F5上,页面必须打开我们想要的路由。