Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在mvc中过滤性别_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如何在mvc中过滤性别

Asp.net mvc 如何在mvc中过滤性别,asp.net-mvc,Asp.net Mvc,我想过滤性别。我调用此筛选器的所有函数。但这不值得。我想知道性别过滤器的确切调用函数是什么。在一个页面中,有两个选项。一个是男性和女性。如果单击“男性”,则仅过滤男性的。但在这里,如果我点击“男性”,意味着它会显示所有成员,比如男性和女性 存储库中的我的代码 public IQueryable<Candidate> GetCandidates(string what,string location, string gender) { int Ge

我想过滤性别。我调用此筛选器的所有函数。但这不值得。我想知道性别过滤器的确切调用函数是什么。在一个页面中,有两个选项。一个是男性和女性。如果单击“男性”,则仅过滤男性的。但在这里,如果我点击“男性”,意味着它会显示所有成员,比如男性和女性

存储库中的我的代码

  public IQueryable<Candidate> GetCandidates(string what,string location, string gender)
       {  
        int Gender;
        bool genderSpecified = int.TryParse(gender, out Gender);

          (string.IsNullOrEmpty(gender)||
          ((candidate.Gender.HasValue))) &&
           orderby candidate.createddate ascending
           select candidate);
            }
public IQueryable Get候选对象(字符串内容、字符串位置、字符串性别)
{  
int性别;
bool genderSpecified=int.TryParse(性别,外性别);
(string.IsNullOrEmpty(性别)||
((candidate.Gender.HasValue)))&&
orderby candidate.createddate升序
选择候选人);
}
//内部控制器

          IQueryable<Candidate> candidates = _repository.GetCandidates(what, where,  gender);
        ViewData["Filters"] = filters;
        return GetPaginatedCandidates(page, candidates);
IQueryable候选者=\u repository.GetCandidates(what,where,gender);
ViewData[“过滤器”]=过滤器;
返回GetPaginatedCandidates(第页,候选人);

这是我的密码。但是它没有正确过滤。

让我们做一些假设,直到问题被更新并从那里开始。。。使用EntityFramework,实体名为“候选者”,数据库集名为“Candiates”,EntityFramework数据上下文定义名为“DataContext”

public IQueryable GetCandiates(字符串内容、字符串位置、字符串性别)
{
从DataContext中的项返回。候选项
其中(item.Gender.HasValue&&item.Gender==int.parse(Gender))
||(!item.Gender.HasValue)
order by item.createddate升序
选择项目;
}

这应该给你一个想法。我还没有在VisualStudio中启动它来检查它的工作情况,因为这需要设置太多的基础。希望能有所帮助。

你用
mvc
标记了你的问题,但我看不出它与模式有什么关系。你能修改你的标签吗?请提供完整的存储库代码。
public IQueryable<Candidate> GetCandiates(string what, string location, string gender)
{
   return from item in DataContext.Candidates
       where (item.Gender.HasValue && item.Gender == int.parse(gender))
                           || (!item.Gender.HasValue)
       order by item.createddate ascending
       select item;
}