0
有沒有辦法用Razor創建DropDownList並將第二個參數作爲Linq結果而不是默認空項目?Razor DropDownList爲每個和所有元素
的關鍵是,我使用的是蓄電池的功能(「功能」),所以我不能爲空進入它(作爲一個問題的答案 - Alternative for multiple IF/CASE statements)
如果DropDownList的不適合我會很感激替代。
控制器:
public ActionResult Index(string searchFullName, string searchExtension, string searchProject)
{
var extensionList = new List<string>();
var projectList = new List<string>();
var projects = from n in unitofwork.DomainRepository.Get()
select n.Project;
var extensions = from n in unitofwork.DomainRepository.Get()
select n.Extension;
extensionList.AddRange(extensions.Distinct());
projectList.AddRange(projects.Distinct());
ViewBag.searchproject = new SelectList(projectList);
ViewBag.searchExtension = new SelectList(extensionList);
return View(unitofwork.DomainRepository.Filter(n => n.Name.Contains(searchFullName), n => n.Extension == searchExtension));
}
「過濾器」 的方法:
public virtual IEnumerable<T> Filter(params Expression<Func<T, bool>>[] filters)
{
IQueryable<T> query = dbSet;
return filters.Aggregate(query, (a, b) => a.Where(b));
}
查看:
@using (Html.BeginForm()) {
<p>
Name: @Html.TextBox("searchFullName")
Extension: @Html.DropDownList("searchExtension", "All") <- *would like to get one extension or all extensions*
Projects: @Html.DropDownList("searchProject","All")
<input type="submit" value="Filters" />
</p> }
林不知道即時得到您的權利... ...請你要什麼有在DDL每2例? – LINQ2Vodka
作爲DDL的一部分,我需要有一個選項可以將列表中的所有項目作爲「索引」的參數傳遞給 –
您可以爲View創建任何類型的Model並在View中使用它的屬性。它有幫助嗎? – LINQ2Vodka