- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的路线代码如下所示:
RouteTable.Routes.MapPageRoute("IDP", "Person/{IDP}", "~/Person.aspx")
现在我想获取表单上的数据,通常它是这样工作的:
int id = Convert.ToInt32(Page.RouteData.Values["IDP"]);
但每次我尝试从路线获取数据时,例如:http://PC-81/SkillDatenbank/Person/1
我没有从值中得到任何数据(它是空的!)
我正在使用 ASP.Net 4.5 和 Web 窗体。编辑:我创建了一个新项目并进行了测试,但它也没有用我究竟做错了什么?在上一个项目中,它确实是这样工作的:(你能帮帮我吗?
最佳答案
您的问题可能出在您的路由表中。我创建了一个 WebForms 项目来对此进行测试。
打开您的 Global.asax
(或您存储 RouteConfig 的任何位置;默认为 App_Start/RouteConfig.cs)并检查您的 RegisterRoutes 方法。向其中添加以下行(如果它不存在的话)。
void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
/* ... additional routes */
routes.MapPageRoute("","Person/{IDP}", "~/Person.aspx");
}
如果您在 App_Start 文件夹中使用默认配置,在您的 Application_Start
中应该有这样一行:RouteConfig.RegisterRoutes(RouteTable.Routes);
如果您在 global.asax.cs 中定义了路由,它只是 RegisterRoutes(RouteTable.Routes);
如果您现在通过 http://PC-81/SkillDatenbank/Person/1
访问您的页面,RouteData 字典将包含一组数据,如下所示:
关于c# - RouteData.Values 保持为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632979/
使用 ASP.Net 路由时,如何从代码隐藏中获取 RouteData? 我知道您可以从 RouteHandler 的 GetHttpHander 方法获取它(您将获得 RequestContext)
我试图在我的组件中接收 RouteData,但它没有像我预期的那样工作。我收到的消息是:ORIGINAL EXCEPTION: Invalid argument(s): No provider fou
令我惊讶的是,竟然没有文章详细回答这个问题。我有几个与 RouteData.Values[""] 相关的问题。 我看到了这段代码: public ActionResult Index() {
我的路线代码如下所示: RouteTable.Routes.MapPageRoute("IDP", "Person/{IDP}", "~/Person.aspx") 现在我想获取表单上的数据,通常它
给出以下代码: public class MyActionFilter : ActionFilterAttribute { public override void OnActionExecu
我通过 NuGet 将 Microsoft.Asp.Net.FriendlyUrls.Core.dll 安装到现有的 asp.net 4.5 Webforms 网站。 我的 RouteConfig 文
我正在开发一个 .net 核心应用程序。我正在尝试访问中间件中的路由数据,但它始终返回 null。 这是 Controller 基本路线 [Route("User/{UserId}/Quote")]
我正在自定义 Action Filter 中设置一些 RouteData filterContext.RouteData.Values.Add("accountId", accountId); fil
如果在使用 URL 路由时查询字符串中不存在以下语句,我将收到以下语句的 null 异常错误,我该如何处理以下语句的 NullReferenceException string lang = Rout
我正在尝试以编程方式将查询字符串映射到我在 RouteConfig.cs 文件中创建的 SEO 友好路由 URL,但似乎遇到困难。 我的路由配置如下所示: routes.MapRoute( n
我正在尝试更改我所有 Controller 的默认 ViewBag.Title,因此我想创建一个继承自 Controller 并在那里处理标题的基类: public class MyControlle
我正在构建一个连接到 Application_EndRequest/Application_BeginRequest 的简单性能记录器 我想将 action 和 controller 的名称作为某种
所以我创建了自己的 ControllerFactory 并重载了 GetControllerSessionBehavior 以扩展 MVC 行为。 为了完成我的自定义工作,我必须对调用的操作使用反射。
运行时出现错误 string quote = Page.RouteData.Values["quote"].ToString() ?? string.Empty; 错误:对象引用未设置到对象的实例。
当我尝试使用 TypeScript 在 Angular2 Beta 中使用 RouteData 时遇到问题。 我将它注入(inject)构造函数并正确导入 import {RouteConfig, R
我创建了一个新的 Web 窗体 (ASP.NET 4.5) 项目,我正在尝试让 URL 路由正常工作。 RouteConfig.cs 看起来像这样: routes.MapPageRoute("surv
我想使用 RouteConfig 将一个变量从我的 AppComponent 传递到 Coursescomponent,但是路由配置中的“data”属性只能传递常量参数,它无法识别“this”。有办法
如果我有这样的操作: public ActionResult DoStuff(List stuff) { ... ViewData["stuff"] = stuff; ...
我有使用 Microsoft.AspNet.FriendlyUrls 在 ASP.NET c# WebForms 中工作的路由,但 不是 对于所有页面。 下面是一个例子: routes.MapPage
我的 Global.asax 中有一条规则,如下所示: RouteTable.Routes.MapPageRoute("defaultRoute", "{*value}", "~/default.as
我是一名优秀的程序员,十分优秀!