如何在MVC中使用参数作为过滤器
本文关键字:参数 过滤器 MVC | 更新日期: 2023-09-27 18:00:31
我认为这是一个简单的问题,但不知怎么的,我无法解决它。我有一个列表<将由MVC控制器返回的SomeClass>。但是,我想过滤结果服务器端。所以假设类是这样的:
public SomeClass()
{
string option1;
string option2;
int indexing;
}
现在我想做一个GET请求,但结果需要在选项1上进行筛选。这样我就可以正确地查询数据库了。因此,我尝试将option1设置为"something"的类的一个实例进行jsonconvert.serialize,但如何将其传递到我的MVC GET方法?使用httpclient时没有内容,使用httpWebRequest并将其写入流中时,我会出现错误"不能使用此谓词发送任何内容",其中谓词设置为GET。
我想我错过了一件基本的事情。有人能给我指正确的方向吗?
如果您想将操作保持为GET,则需要使用正确的querystring参数调用该操作,即/ActionName?option1=somevalue&option2=其他值
以及你的行动:
[HttpGet]public ActionResult ActionName(SomeClass SomeClass)
或者发布json选项并将您的HttpGetverb发送到HttpPost
这很简单,您可以使用Json Result:https://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult(v=vs.118).aspx
[HttpGet]
public ActionResult GetListObjects(string filter)
{
//getdata items
var objects =
from item in items
where (string)item.option1 == filter
select item;
return Json(objects, JsonRequestBehavior.AllowGet);
}