在Array C#MVC razor中使用命名键

时间:2012-08-17 21:36:50

标签: c# javascript asp.net-mvc razor

我有一个传递回控制器的javascript数组

amount_array[]

它包含不同的命名键,例如

amount_array['start_date'] , amount_array['end_date']

有更多类似数组的变量

有没有办法在控制器上用C#设置一个数组,以便按名称从数组中调用开始和结束日期?

或者我只需要通过数组中的位置调用吗?

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:3)

  

我有一个javascript数组

不,你没有javascript数组。在javascript数组中必须具有基于整数0的索引。你拥有的是一个包含2个属性的javascript对象:start_dateend_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) {

    }
});