ASP.Net MVC Route不将参数传递给控制器

时间:2009-08-04 19:57:20

标签: asp.net-mvc routing

我正在尝试学习MVC,并且开始有一个艰难的过程。

routes.MapRoute(
       "Test",
       "Test/{stringInput}",
       new { controller = "Test", action = "TestMethod", stringInput = "" }
);

未将stringInput传递给控制器​​中的方法TestMethod。它没有了。

不确定我缺少什么,看起来非常简单明了。此路线位于默认值之上。

3 个答案:

答案 0 :(得分:3)

覆盖控制器的Execute方法,然后在其中放置一个断点,以便您可以看到请求上下文。其中一个属性是传入的键/值对。确保stringInput的键具有正确的值。

答案 1 :(得分:1)

确保您的控制器设置正确。它应该在文件夹

Controllers/TestController.cs

并且控制器内应该是

public ActionResult TestMethod( string stringInput )
{
    return View();
}

它使用约定,因此您在路径中设置的命名需要与控制器的文件,方法和参数匹配。

要达到此目的的网址应为

/Test/TestMethod/MyStringInput

和“MyStringInput”将是变量stringInput的值。

答案 2 :(得分:0)

你确定路线是正在使用的路线吗?尝试将其移至路线列表的顶部以确保。