问题标签 [routedata]
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.
asp.net - 在 Html.BeginForm() 中保留 RouteData
我一直在使用 Html.BeginForm() 方法的变体将 html 属性附加到我的表单,如下所示:
不幸的是,这会导致表单目标丢失所有路由数据。
假设我的 url 是controller/action?abc=123
,然后使用Html.BeginForm()
生成表单发布目标,controller/action?abc=123
但是重载版本(我用来将 html id 属性添加到表单),生成目标为controller/action
(这实际上是可以理解的,因为我自己指定了路线,但这并不能解决我的目的)。
是否有一个变体Html.BeginForm()
可以让我保留旧的路由值并让我同时向表单添加 html 属性?
asp.net-mvc - RouteData 在由 RenderAction 调用的控制器中的 Post 上丢失
我有一个“简历”视图,它调用 RenderAction,以便我可以在简历中添加评论。代码:
所以上面的代码在我的 ResumeComment 控制器中调用 Add action 并将它传递给 resumeId。如果我查看 Add (GET) 方法中的 ControllerContext.ParentActionViewContext.RouteData,我会看到 4 个值:
c# - 在 ASP.NET 页面上的 .asmx Web 服务中获取 Routedata
我正在使用 ASP.NET Web 表单。在我的应用程序中,我需要能够访问 URL 中用户名的路由数据。
网址看起来像这样:localhost/profile/MyRAndomUserNAme
在 On_Load 事件中接收它没有问题,如下所示:
但是,如果我在我的 Asmx WebService 中并尝试从 URL 接收用户名,它就不起作用。那么我该如何解决呢?
PS:它不是 MVC 项目,所以我不能var userName = ViewContext.RouteData.Values["UserName"];
在视图上使用
asp.net - 在控制器的构造函数/属性中获取 RouteData 以路由 [Authorize] 的 ConnectionString
背景
我有一个多租户应用程序,每个租户使用多个数据库。我正在使用 CodeFirstMembership,所以我可以完全控制 SimpleMembership 的实现。我的两个用户/角色实体都与我的应用程序的其余部分在同一个 DbContext 中。
问题
为了促进多租户,我有一个自定义路由,它看起来与默认的 vanilla MVC 路由看起来完全一样,除了我抓取子域,检查有帐户的租户,然后抓取他们的特定的连接字符串。我在 RouteData 上有一个名为 .GetSubdomain() 的扩展方法,它将返回使用的子域,所以我可以真正进行检查并在任何地方获取连接字符串,如果这有助于你的答案。
我需要我的会员提供商能够访问子域检查信息,以便指向正确的数据库,以便 [Authorize] 方法正常工作。
我试过的
- 在 InitializeSimpleMembershipAttribute 中初始化成员资格提供程序
- 这不起作用,因为您无法将动态参数传递给属性(例如 RouteData.GetSubdomain())
- 在构造函数中初始化成员资格。
- 虽然您可以在构造函数中调用 RouteData 方法并构建/运行应用程序,但 RouteData 尚未在控制器中的构造函数处填充,因此此方法也不起作用。
- 我没有尝试过,但是在每个控制器方法的开头添加检查可能不起作用,因为授权已经运行。
所以...... 根据我的尝试,似乎我需要连接到填充 RouteData 和实际授权之间的点。有没有一点我可以有效地做到这一点?
谢谢!
c# - 由于 SelectMethod,无法将数据绑定到 ListView
我有一个ListView
并且我使用 的SelectMethod
来ListView
填充它。我希望将过滤器应用于从DropDownList
. 我面临的问题是我不能DataBind()
这样做,ListView
因为SelectMethod
那是用途。
所以我想我会一直改变它而DataBind()
不是使用SelectMethod
(更好吗?)。然后我面临的问题是我的方法是抓取[RouteData]
。现在我正在将其[RouteData]
作为我的方法的参数。请看下文。
下面是列表视图
如何使用DataBind()
并仍然获取[RouteData]
来自 URL?还是我必须使用 QueryString 来执行此操作?
asp.net-mvc-4 - MvcSiteMapProvider 不根据 RouteData 解析
我正在尝试将 MvcSiteMapProvider 与 MVC 4 站点一起使用,并且在具有(例如)项目列表页面和子项目详细信息页面的站点部分中遇到问题。
当您访问详细信息页面时,从列表中选择的实体的 ID 在 URL 中指定,例如:
~/Project/2/Detail
我没有将详细信息页面设置为动态节点,因为我不希望站点地图提供程序提供任何增强的功能。本质上,我希望站点地图提供程序忽略URL 参数,projectID
并且始终只映射到 Detail 操作。
不幸的是,我遇到了以下问题:
- 如果应用程序以针对列表页面的第一个请求开始,则用户可以单击进入任何项目,并且站点地图与详细信息页面匹配得很好。
- 如果应用程序以对 Detail 页面的请求开始,则 SiteMap 仅在 URL 包含第一个请求的 ProjectID 时匹配 Detail 页面,即如果您访问任何其他 Project,则 SiteMap currentnode 为空。
我曾尝试禁用缓存,启用长时间缓存,甚至一直在挖掘源代码但没有成功。不一致的行为表明这是一个错误。任何帮助将不胜感激。
asp.net-mvc - ASP.NET MVC - 在过滤器操作中设置的 RouteData 未绑定到操作方法参数
我有一个动作过滤器(除其他外),将内容添加到 RouteData。但是,我的操作方法中的参数并未获取该值。任何想法为什么?
动作过滤器:
行动方法:
请注意,我的操作方法中的以下行确实返回了保存在操作过滤器中的数据:
有谁知道为什么?
asp.net-mvc - Url.RequestContext.RouteData.Values 不起作用?
我知道,有一种方法可用于根据路由图获取当前 URL 参数,
但是我发现当我运行这个方法时返回 System.NullReferenceException,所以我签入了 Url.RequestContext.RouteData.Values 中的所有对象,它包含两个实例,即[Key:Controller, Value: Blog]
和[key:action, Value:BlogCommit]
,然后我签入我的路线图配置文件立即,并认为这很好
什么是默认配置,我的代码有什么问题?
从 URL 看起来像:
http://www.example.com:1925/Blog/BlogPost/1
根本原因是什么?或者有什么办法可以查到吗?
asp.net-mvc-3 - 如何在控制器中获取 url id 值?
我想获取我当前 url 的 id 并在控制器中使用它。
http://localhost:14160/?id=69
这Request.RequestContext.RouteData.Values["id"]
是返回空值。有任何想法吗?
控制器:
控制器我想在以下位置获取 ID:
c# - 什么是 Routedata.Values[""]?
令我惊讶的是,没有任何文章可以详细回答这个问题。我有几个与RouteData.Values[""]
.
我看到了这段代码:
这里基本上是读取可能听起来像控制器的“元数据”的值。还是 View 也可以传递给 Controller 的东西?