在MVC控制器中使用查询字符串变量

dav*_*ids 57 c# asp.net-mvc query-string

我是C#.net MVC的新手,我正在尝试添加FullCalendar到MVC应用程序.

FullCalendar脚本自动添加?start={}&end={}到URL ...这很好,但我不知道如何querystring在控制器中使用变量.

我在Webforms应用程序中使用的方法不起作用.我需要添加到控制器以访问querystring变量?

Mae*_*ess 89

public ActionResult SomeAction(string start, string end)
Run Code Online (Sandbox Code Playgroud)

框架将查询字符串参数映射到方法参数.

  • 我已经尝试过,但参数从未分配过.我不知道查询字符串参数是unixtimestamps是否重要,但是当我尝试这种方法时,double和sting都没有任何值. (2认同)
  • 这种方法对我有用.重要的是要注意变量名称必须完全匹配. (2认同)

dav*_*ids 74

我想通了......终于找到了另一篇文章.

string start = Request.QueryString["start"];

string end = Request.QueryString["end"];
Run Code Online (Sandbox Code Playgroud)

  • 只是说这在MVC中应该如何完成是错误的.检查Maess的答案是否合适. (26认同)
  • 这更像是将魔方称为魔方。它可能不是首选方法,也不是最常学习的方法,但它取得了成果,现在可以解决更大更好的问题。无论如何,我用它来检索 URLEncoded url 重定向路径,该路径在嵌入 url 时会产生错误。我不确定这是否是首选方式,但我也曾在我生命中的某个时刻撕下 Rubix 立方体上的贴纸而感到内疚。继续.... (19认同)
  • 您可能希望在控制器中执行此操作,而不是忽略MVC的要点. (11认同)
  • 这就像试图弄清楚如何解决Rubics立方体一样,最后,你只需将贴纸剥离并将它们放回到解决位置. (10认同)
  • 是的,我有一个案例,我希望查询字符串键是可变的(用户可以做"?max = true"或"?maximum = true")在这种情况下,控制器方法中的标准MVC变量名称似乎不帮助我,因为我只能选择一个.这个答案似乎是这个用例的解决方案 (2认同)