在MVC中,我试图从一个ActionResult方法传递一个可选的ID参数,我想在另一个ActionResult方法中捕获该ID。我目前有以下代码,但我仍然找不到在Method2()
中获取ID的方法。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Method1(SomeModel model)
{
int someID = model.something.Id;
.
..
...
return RedirectToAction("Method2", new { userID = someID});
}
单击Method1的View页面上的按钮后,代码会将我引导至Method2页面,我将在我的URL中看到类似的内容
http://localhost:1234/myController/method2?userid=100
请注意,?userid=100
被调用后,Method2
已成功传递到网址。
这是我的方法2。我想要获得userid
,但我不能。
[HttpGet]
public ActionResult Method2()
{
**I want to get the userID from the URL**
}
我甚至尝试使用int? id
,但我仍然为id获取null。
public ActionResult Method2(int? id)
{
//id return null all the time
}
有关如何在Method2()中的URL中获取userid
的任何帮助?
答案 0 :(得分:0)
userid的值键值对位于请求查询字符串集合中。要做到这一点,请执行以下操作:
if (Request.QueryString.Count > 0)
{
if(Request.QueryString["userid"] != null)
{
int userId = (int)Request.QueryString["userid"];
}
}
答案 1 :(得分:0)
您的查询字符串的变量名称和actionresult变量名称必须匹配
[HttpGet]
public ActionResult Method2(int userid)
{
//your code
}
甚至
public ActionResult Method2(int? userid)
{
//id return null all the time
}