2013-12-19 50 views
0

通過列表 到控制器的動作在C#我有我的類三個對象,如: 如何查詢字符串MVC4

public class ABC{ 
public int AgeMin{get;set;} 
public int AgeMax{get;set;} 
public List<int> MaritalStatuses{get;set;} 
} 

現在,當我通過查詢字符串傳遞所有這些對象值控制器的作用,這在接受ABC類型的對象,我傳遞這樣的:

&[email protected]&[email protected]&[email protected](",", @Model.filter.MaritalStatuses) 

AgeMin和AgeMax的價值觀是正確的,但因爲它是一個List列表MaritalStatuses的值不正確。我如何將這個List值傳遞給查詢字符串?

回答

0

變化MaritalStatuses到MaritalStatuses [0],MaritalStatuses [1]等

0

那麼現在不能測試,但如果你寫你的模型類中的函數返回正確的查詢字符串,你可以有一個更好的控制或可有一個包裝模型或甚至一些擴展方法取模型對象並返回它的查詢字符串。就像這樣:

public class TestModel 
{ 
    public int AgeMin { get; set; } 
    public int AgeMax { get; set; } 
    public List<int> MaritalStatuses { get; set; } 

    public string ToQueryString() 
    { 
     return string.Format("AgeMin={0}&AgeMax={1}&MaritialStatuses={2}", 
          AgeMin, AgeMax, string.Join(",", MaritalStatuses)); 
    } 
} 

然後使用它是這樣的:

<a href="@Url.Action("someAction")[email protected](Model.ToQueryString())">Testing</a>