我如何从这个查询字符串中提取 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();
}
我如何从这个查询字符串中提取 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
您可以向您的操作添加参数以检索在查询字符串中传递的值。
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
集合,因此您可以检查它以查看实际提供了哪些值。