2012-08-14 20 views
0

我正在使用asp.net mvc3。 我想通過從視圖中使用parameterMap的控制器的陣列如下所示 筆者認爲:如何在我的查詢的where子句中使用值的數組

 parameterMap: 
      function (data, options) { 
       if (options === "read") { 
       sessionStorage.setItem("value","array"); 
       val = sessionStorage.getItem("value"); // contains array 
       return { model: JSON.stringify(val) }; //passing array to controller 
       } 
      } 

在控制器:

public ActionResult SearchDetails(string model)  
    { 
    var query = (from ......).where();//want to compare array values in controller 

    } 

但我不能夠檢索在這些值你可以告訴我如何使用循環語句在我的控制器中檢索這些數組值。我的數組只包含整數值(id的),而調試時,我把光標放在參數的行動方法的價值觀來到「\」[{\\「id \\」:1},{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' \「id \\」:2}] \「」format.can你告訴我如何在我的查詢的where子句中使用這個值的數組。

+0

公衆的ActionResult SearchDetails(字符串模式){} 在調試時,當我把光標放在模型我越來越喜歡 「\」[{\\\ 「ID \\\」 的值:1 「id \\\」:2}] \「」。我想在我的控制器中檢索這些數組值,並在查詢的where子句中使用這些值 – steve 2012-08-14 04:25:03

+0

您是否問如何將值作爲數組取而代之一串? – Mohayemin 2012-08-14 04:35:29

+0

實際上,我的數組包含兩個值{1,2},它以上述格式顯示,正如我在上一篇文章中提到的。我想要檢索控制器中數組中的每個值,並比較lambda表達式中的值 – steve 2012-08-14 04:40:09

回答

0

如果你被綁定並決定堅持使用字符串輸入,我會認爲Split會起作用。但是,如果您將其作爲一個字符串引入到引入模型中,將會變得更加容易。你有沒有嘗試類似的東西:

public ActionResult SearchDetails(model model)  
    { 
    var query = (from ......).where();//want to compare array values in controller 

    } 

你想要做一些等同於SQL IN?如果是這種情況,請在查詢中使用.Contains。例如:

public ActionResult SearchDetails(model model) 
{ 
    var query = from d in context.data 
       where model.Contains(d.id) 
       select d; 
} 
相關問題