我正在使用asp.net mvc3。 我想使用parameterMap将数组从视图传递到控制器,如下所示 在我看来:
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's),同时调试当我将光标置于action方法的参数时,值将出现在“\”[{\\“id \\”:1},{\\ “id \\”:2}] \“”format.can你告诉我如何在我的查询的where子句中使用这个值数组。
答案 0 :(得分:0)
如果您受到约束并决定坚持使用字符串输入,我会认为对拆分的调用会起作用。但是,如果您将其作为字符串更改为仅引入模型,则会更容易。你尝试过类似的东西吗?
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;
}