问题标签 [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.
c# - ASP.NET MVC 如何正确映射 url-routing 中的参数
我有以下路线
映射到 SegnalazioniController 类的以下方法:
链接怎么http://localhost:1387/Segnalazioni/CercaSegnalazioni/1
给我错误
asp.net-mvc - ASP.NET MVC 默认路由?
我创建了一个新的 ASP.NET MVC 项目并实现了站点授权过滤器。
当我将路由映射到该{controller}/{action}
对时,我将 role = "SomeRole" default 传递给路由。
如果我通过完整的 url ( http://localhost/somecontroller/someaction
) 并且我指定了完整的路线,它会完美地工作
问题是,当有人访问时http://thesiteaddress.com
,必须有一个默认路由调用/home/index
而不是/
如果我指定
然后我失去role="SomeRole"
了以前的MapRoute
。
我该如何解决这个问题?
c# - “安全”和 ASP.NET 路由引擎的问题
我正在开发一个 ASP.NET Web 应用程序,并希望将 ASP.NET 路由引擎 (System.Web.Routing) 与它一起使用。
我的应用程序在 Cassini 中运行良好,但是当我在 IIS7(当然是集成应用程序池)中启动它时,我总是在这一行出现错误:
这可能是什么原因?有什么解决方法吗?
asp.net-mvc - 如何删除 MVC URL 路由中的“详细信息”,但保留其他操作不变?
我想为具有正常 CRUD 操作的控制器设置路由,但希望详细信息操作不在 URL 中显示“详细信息”。Stackoverflow 似乎配置了这种类型的路由:
使用这个类比,我的路线目前看起来像:
通过添加以下路线,我能够被Details
删除:
但是,拉起控制器上的其他操作(例如/questions/new
对于此示例)抱怨无法解析 id。
有没有办法设置路线,这样我就不必手动将所有其他操作(MapRoute“items/create”、“items/delete”等)手动输入到 Global.asax.cs 中?我基本上希望有第二条路线,例如:
{id}
...如果匹配一个整数,并且{action}
如果它是一个字符串,则让路由引擎使用路由 Q1 。这可能吗?
asp.net-mvc - Html.ActionLink 发生了什么在 ASP.NET MVC 中?
我正在阅读所有关于将 Html.ActionLink 方法与 lambda 表达式一起使用的博客。我什至在这里看到了关于它的 ScottGu 演示:http ://www.hanselman.com/silverlight/ScottGuAtAltNetConf/
这是一个博客:http ://blog.wekeroad.com/blog/aspnet-mvc-preview-using-the-mvc-ui-helpers/
这是关于它的 ScottGu 博客:http ://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
"也可以写成:
由于这是一种编写 URL 路由的强大方法——特别是因为它自动支持重构工具——为什么这明显缺失或很难找到?我查看了 Reflector 中的 System.Web.Mvc.Html.LinkExtensions,我看到了很多 ActionLink(this HtmlHelper...) 扩展方法,但没有一个是通用的。
有人有帮助吗?谢谢!!
asp.net-mvc - 如何在我的 MVC 项目的代码隐藏中访问服务器端控件?
首先让我声明,我知道在我的视图中访问服务器端控件在 MVC 中是不受欢迎的。但是,我需要在我的情况下(据我所知)。这是我的故事。:)
我在我的 Web 应用程序中使用了第 3 方控件。我目前的任务是将我们的 WebForms 解决方案移植到 MVC。这个特定的第三方 Web 控件需要 WebForms 架构,所以我希望只使用我的 WebForms 项目中的相同代码。
我最初的方法是创建两个网站(一个 WebForms 站点和一个 MVC 站点),然后使用 MVC 端的 iFrame 将这两个站点链接起来。虽然我知道这会起作用,但仅仅使用这个特定的控件有点过头了。在做了更多研究之后,我发现我可以“混合男孩”并在 MVC 项目中使用 WebForms 架构。因此,我采用的新方法是仅将使用此 3rd 方控件的页面复制到特定目录(即“View\SomeDir\WebForms”),然后在我的 global.asax 文件中忽略该目录,所以MVC 路由系统没有拾取它:
不幸的是,当我将 ASPX 页面复制到我的 MVC 项目时,我发现 CodeBehind 并没有授予我对页面上的控件的访问权限。这是设置的方式:
这是我背后的代码的样子:
不幸的是,我的项目甚至无法编译,因为我的 CodeBehind 中的每个控件都出现此错误。将其他控件(即标签、面板、文本框等)转换为客户端标签不是问题,但我需要在我的代码中访问此自定义控件,以便我可以收听它(服务器端) 事件并作出相应响应;基本的 WebForms 东西...
我想要做的甚至可能吗?我想到的另一种方法might
是在控制器类中初始化和捕获服务器端事件。但是,我想避免在视图中序列化控件的状态,只是将其传递给控制器并在可能的情况下返回?
提前感谢您的任何建议!
c# - 具有任意深度的 ASP.NET MVC 动态路由和操作链接
我想用 ASP.NET MVC 组合一个论坛/留言板。在这些类型的论坛上很常见的是分层板类别,例如:
-综合讨论
-技术支持--
网站技术支持--产品
技术支持
--产品A技术支持
--产品B技术支持
然后在每个类别下方是主题,并且消息属于这些主题。我主要关心的是 1.) 在给定 URL 的情况下到达正确的位置,2.) 在我的 URL 中不包括大量不必要的信息,以及 3.) 能够从代码重新创建 URL。
我希望一个 URL 是这样的:
现在,我已经排除了动作名称,因为它们可以根据我所在的位置推断出来。我的数据库中的每个 Board 实体都有一个“UrlPart”列,该列已编入索引,因此我希望能够对该表进行相对快速的查询,以确定我在哪里。
问题是:为了找出正确的位置,我应该使用自定义路由处理程序、自定义路由绑定器,还是应该创建模糊的路由规则?
这个建议看起来很不错,但看起来也有很多工作却没有什么好处: ASP.NET MVC custom routing for search
这似乎表明创建模型绑定会更容易: MVC Dynamic Routes
为了实现#3,我将不得不创建自己的自定义 URL 生成逻辑,对吗?
asp.net-mvc - 树路径的asp.net mvc复杂路由
我想知道如何定义这样的路由图:
TreeMap 是从数据库中动态加载的,如下所示:
asp.net-mvc - 为什么 ASP.NET MVC 会忽略我的斜杠?
考虑以下路线:
使用Url.Action("Service", "CustomerService")
会产生一个 url/service
而不是预期的/service/
有什么方法可以让它工作,还是我必须求助于实现我自己的路由RouteBase
?
c# - ASP.NET MVC 模糊操作方法
我有两种相互冲突的操作方法。基本上,我希望能够使用两条不同的路线到达同一个视图,或者通过项目的 ID 或通过项目的名称及其父项(项目可以在不同的父项中具有相同的名称)。搜索词可用于过滤列表。
例如...
这是我的操作方法(也有Remove
操作方法)...
这里是路线...
我理解为什么会发生错误,因为page
参数可以为空,但我无法找出解决它的最佳方法。我的设计一开始就很差吗?我考虑过扩展Method #1
的签名以包含搜索参数并将逻辑移入Method #2
他们都会调用的私有方法,但我认为这实际上不会解决歧义。
任何帮助将不胜感激。
实际解决方案(基于李维斯的回答)
我添加了以下课程...
然后修饰动作方法...