我有一个传递回控制器的javascript数组
amount_array[]
它包含不同的命名键,例如
amount_array['start_date'] , amount_array['end_date']
有更多类似数组的变量
有没有办法在控制器上用C#设置一个数组,以便按名称从数组中调用开始和结束日期?
或者我只需要通过数组中的位置调用吗?
感谢任何帮助。
由于
答案 0 :(得分:3)
我有一个javascript数组
不,你没有javascript数组。在javascript数组中必须具有基于整数0的索引。你拥有的是一个包含2个属性的javascript对象:start_date
和end_date
。
所以你定义一个视图模型来匹配这个结构:
public class MyViewModel
{
public DateTime Start_Date { get; set; }
public DateTime End_Date { get; set; }
}
然后是一个控制器动作来获取这个视图模型并用它做一些处理:
[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
// use model.Start_Date and model.End_Date here
...
}
最后是一个javascript函数来调用这个控制器动作(例如使用AJAX):
var amount_array = {
start_date: new Date(2012, 8, 1).toUTCString(),
end_date: new Date(2012, 8, 31).toUTCString()
};
$.ajax({
url: '@Url.Action("SomeAction")',
type: 'POST',
data: amount_array,
success: function(result) {
}
});