2015-08-25 110 views
0

是否存在一種將MVC控制器中的查詢字符串參數綁定到FromUri的等效方法,它似乎僅用於MVC API中?MVC中的綁定查詢字符串參數

我有2頁可以有0到7個查詢字符串參數,具體取決於用戶選擇的過濾器。我試圖找到一個乾淨有效的方法來管理來自控制器的查詢字符串參數,而不需要大量的if語句。每個頁面的參數基本相同,因此創建兩個頁面都可以訪問的queryParameter類將是理想的。

在API控制器中真的很容易,我想做類似的事情。

任何想法,將不勝感激。

感謝,

朗達

編輯。

說我有下面的類:

public class QueryStringParams : IEnumerable 
{ 
    public string Page { get; set; } 
    public string Top { get; set; } 
    public string Color { get; set; } 
    public string Size { get; set; } 
    public string Width { get; set; } 
    public string Price { get; set; } 
    public IEnumerator GetEnumerator() 
    { 
     yield return this.Page; 
     yield return this.Top; 
     yield return this.Color; 
     yield return this.Size; 
     yield return this.Width; 
     yield return this.Price; 
    } 
} 

在我控制器(S)我想有這樣的事情:

公共異步任務索引(字符串路徑別名,[綁定(前綴=「QueryStringParams」)] QueryStringParams queryParams)

類似於能夠在API方法中執行此操作。

公共異步任務獲取(字符串路徑別名,[FromUri] QueryStringParams queryParams)

然後引用該查詢字符串參數,如: VAR PAGENUMBER = queryParams.Page;

查詢字符串會是這個樣子:

http://localhost:12330/br/womens-dresses-shop?page=2&Top=10&color=red

它可能有也可能沒有全部設置在任何一個時間參數。

更清楚了嗎?

+0

也許它可以幫助你http://stackoverflow.com/questions/17329342/does-model-binding-work-via-query-string-in-asp-net-mvc –

+1

查詢字符串參數的模型綁定自動發生在asp.net MVC中。你需要更清楚你想要達到的目標。 – ataravati

+0

我們首先向我們展示您的控制器操作的外觀以及您正在使用的查詢字符串。 –

回答

0

雖然不是100%理想,但這似乎工作。

公共異步任務索引(字符串路徑別名,[綁定(包括= 「頁面,顏色」)BrowseQueryParams queryParams)

朗達

+0

如果我想訪問所有parmeters我可以做到這一點的: 公共異步任務索引(字符串路徑別名,BrowseQueryParams queryParams) 我認爲這是什麼有人試圖在一個評論說。我試圖讓事情複雜化。 – Rhonda

相關問題