В качестве опции вы можете сделать выбор с помощью LINQ:
var list = (from t1 in DataContext.Tables1
//here add you joins
select new
{
Code = t1.Code,
CompanyName = t1.Company, //for example
//...
}).ToList();
GridView.DataSource = list;
GridView.DataBind();
Но это будет работать только в том случае, если вы используете «гибридное» приложение - как классический ASP, так и MVC. В противном случае вам нужен список пропуска для просмотра.
О параметрах ... Например, у вас есть макет
<select name="filter1">
//...
<select>
<select name="filter2">
//...
<select>
<input type="hidden" name="dateStart" />
<input type="hidden" name="dateEnd" />
Тогда в вашем действии вы будете иметь:
public ActionResult MyAction(int filter1, string filter2, DateTime? dateStart, DateTime? dateEnd)
{
//code here
return View();
}