Search menu with multiple options
Use English language for naming. .NET uses English for naming. You have mix of languages, and code looks like obfuscated for those who don't speak German.
Use descriptive names. I don't know German, but wvl, wek1, wek2 is definitely not very descriptive.
You have mix of presentation-related and data access code. You should split this code.


So, the first part is your controller code. It should look like technical specification when you read it. Let's try to do that

var methods = GetMethods(selectedGroupId, model.selectedParameterItem);
var model = ConvertMethodsToModel(methods);
return View(model);


Pretty clean. Now lets think about GetMethods method. It's purpose is returning some methods depending on what was found in methods group and parameter methods. Btw it can be method of another class (e.g. some service)

private IEnumerable&lt;Method&gt; GetMethods(int groupId, IEnumerable&lt;int&gt; parameterIds)
{
   var none = Enumerable.Empty&lt;Method&gt;();
   var groupMethods = (groupId == 0) ? none : GetMethodsByGroup(groupId);
   var parameterMethods = (parameterIds == null) ? none : GetParameterMethods(parametrIds);

   if (!parameterMethods.Any())
       return groupMethods;

   if (!groupMethods.Any())
       return parameterMethods;

   var parameterMethodsFromGroup =
        from pm in parameterMethods
        join gm in groupMethods on pm.Id equals gm.Id
        select pm;

   return parameterMethodsFromGroup;
}


And last part - those GetMethodsByGroup and GetParameterMethods (which could be moved to corresponding repositories):

private IEnumerable&lt;Method&gt; GetMethodsByGroup(int groupId)
{
    return db.Methods.Where(m =&gt; m.MethodGroupID == groupId).ToList();
}


Getting parameter methods:

private IEnumerable&lt;Method&gt; GetParameterMethods(IEnumerable&lt;int&gt; parameterIds)
{
    var parameterMethods = db.ParametersMethods.Where(pm =&gt; parameterIds.Contains(pm.ID));
    return methodlogicclass.GetMethodFromParameters(parameterMethodss).ToList();
}