0
我有我的MVC局部視圖一個foreach基於表:C#MVC:ModelBinder的案例,還是不是?尋找「最乾淨」解決方案
<% foreach (var item in Model) { %>
<tr>
<td><%= Html.Encode(item.FirstName) %></td>
<td><%= Html.Encode(item.LastName) %></td>
<td><%= Html.Encode(item.LastVisit) %></td>
</tr>
<% } %>
它的旁邊我有一個不同的控制與一羣領域是允許在許多不同的方式檢索,包括選項下拉菜單(搜索基於特定標識等):
<select>
<option value="1">Local</option>
<option value="2">Public</option>
<option value="3">Special</option>
</select>
<input type="text" name="freeTextSearch" />
<input type="text" name="floorNumber" />
我會在這裏使用一個自定義的模型綁定器,或簡稱爲「ContactFilter」對象是這樣的:
public class ContactFilter
{
public Int32 ContactSourceId;
public String FreeTextSearch;
public Int32 FloorNumber;
}
,然後訪問這樣說:
public ActionResult Filter(ContactFilter filter)
{
// do filtering, return view
}
還是有這樣做的更好的辦法?我遇到的另一個問題是,我需要在過濾器中包含排序和分頁參數(當前頁面,排序字段,方向)。排序方向需要從字符串轉換爲SortDirection枚舉實例。所以我想我不能再使用默認的模型綁定器了,或者我可以嗎?