来自查询字符串的请求值
如何从此查询字符串中提取House,Car和Work值?来自查询字符串的请求值
http://'mysite'/Result/Environments?House=1&Car=0&Work=1
然后在下面的LINQ语句中赋值。
操作方法在控制器
public ActionResult Environments()
{
//int totalSmokers = repository.Results.Where(x=>x.House =
return View();
}
你应该有你的ActionResult
把它们作为参数,像这样(我假设bool
,如果他们int
,将其更改为int
)。
public ActionResult Environments(bool House, bool Car, bool Work)
然后你就可以在你的LINQ语句中使用它们,这样的:
int totalSmokers = repository.Results
.Where(x => x.House == House && x.Car == Car && x.Work == Work)
.Count();
即使清洁虽然,你可以创建一个模型(以及在您的视图返回这个就像你在评论中问道, ),是这样的:
public class SmokersModel
{
public bool House { get; set; }
public bool Car { get; set; }
public bool Work { get; set; }
public int TotalSmokers { get; set; }
}
然后就是收拾你的操作方法,你可以这样做:
public ActionResult Environment(SmokersModel Model)
{
Model.TotalSmokers = repository.Results
.Where(x => x.House == Model.House && x.Car == Model.Car && x.Work == Model.Work)
.Count();
return View(Model);
}
然后改变你的看法的模式类型为SmokersModel
:
@model SmokersModel
如何让totalSmokers可用于视图? – user2224493 2013-05-07 14:47:58
将'return View()'更改为'return View(totalSmokers)',并将您的视图上的模型类型更改为'int'。 – mattytommo 2013-05-07 14:48:38
@ user2224493或者如果你想使用模型,你可以使用我更新的第二个例子。 – mattytommo 2013-05-07 14:50:18
您可以将参数添加到您的行动来检索查询字符串传递的值。
public ActionResult Environments(int House, int Car, int Work)
{
//int totalSmokers = repository.Results.Where(x=>x.House ==
return View();
}
你也可以在你的函数中使用Request["House"], Request["Car"] or Request["Work"]
得到它。
以下示例将查询?House=1
写入控制台。
Uri baseUri = new Uri ("http://mysite.com/");
Uri myUri = new Uri (baseUri, "/Result/Environments?House=1&Car=0&Work=1");
Console.WriteLine(myUri.Query);
希望这会有所帮助!
您可以通过Request.QueryString
访问这些文件。有几种方法可以做到这一点。最简单的可能是Request.QueryString["House"]
,但请记住这将是一个字符串。 QueryString也有一个AllKeys
集合,所以你可以检查一下,看看实际提供了哪些值。
HttpContext.Request.params还允许您访问查询字符串 – 2013-05-07 15:00:54