C#MVC,操作方法无法从QueryString

时间:2018-10-05 14:49:22

标签: c# asp.net-mvc routes

这肯定是一件小事,但我无法弄清楚这个问题。 我正在通过Querystring传递2个参数,但是我的索引方法只接收其中一个。不知道这里可能出什么问题。

这是我的索引方法

public ActionResult Index(Guid? empGuid = null, Guid? empPriorGuid = null)
{
// do something
}

这是我的网址: baseurl /?empGuid = 7a3b9a5d-b7dd-4959-a1df-be35546d2db7&empPriorGuid = f530733e-ce8d-4bbf-8480-3551dce91337

由于某种原因,我的索引似乎收到empPriorGuid而不是empGuid。

3 个答案:

答案 0 :(得分:0)

如果您使用的是区域,则需要定义具有2个参数的路线

答案 1 :(得分:0)

您可以如下更改路由配置:

 routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{empGuid?}/{empPriorGuid}");

“?”路由意味着可选

并执行以下操作:

@Html.Action("index", "home", new { empGuid =7a3b9a5d-b7dd-4959-a1df-be35546d2db7,empPriorGuid=7a3b9a5d-b7dd-4959-a1df-be35546d2db7})

答案 2 :(得分:0)

我能够弄清楚问题所在,这是一个奇怪的情况,当我使用其他Guid确实有效时,empGuid出现了问题。谢谢你们!