Asp.Net Ajax将ViewModel发送到Controller

时间:2015-07-31 01:10:24

标签: c# jquery asp.net ajax asp.net-mvc

我在这里遇到一点问题,

我有一个基于表格的日历视图,每天都有一个ajax链接,该链接会向用户呈现某些特定日期的表单,以便在所选日期内设置。

然后我想在打开的部分视图中选择特定日期的数据并使用ajax保存它们,但我还需要传递页面模型中包含的一些信息,例如所选的日期和月份,年份等等。

当我点击当天时加载的部分视图将成为用户选择一些医院职责信息的地方,例如值班开始时间,结束时间,将要去的医生负责任务,在页面模型上,有医院ID,日期和年份。

那么如何将表单数据和页面模型发送到将要在数据库中保存数据的控制器?

感谢。

2 个答案:

答案 0 :(得分:0)

  

那么如何将表单数据和页面模型发送到将要在数据库中保存数据的控制器?

而不是做表格发布,你可以做一个ajax帖子

$.ajax({
    url: 'Controller/Action',
    type: 'POST',
    data: JSON.stringify({
        'postData': postData
    }),
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: SuccessHandler,
    error: ErrorHandler,
});

答案 1 :(得分:0)

我认为至少有两种方法可以做到这一点。

首先是在服务器端 当你点击主页面链接时,传递子页面需要的主页面模型数据。像控制器/动作一样?a = 1& b = 2 ... 1和2是主页面模型数据。你可以得到这些通过添加操作方法param,然后将它们传递给子视图使用模型,viewdata,viewbag

第二个是客户端 你可以把你的主页面模型数据放到一个js var(或简单地想一下,一个隐藏的输入),然后你点击链接并显示你的子页面,子页面是主页面的一部分,所以你可以读取js var子页面。然后你可以做一些js程序来显示页面

中的js数据

所以,将数据从主页面传递给子操作,或子页面通过js

获取主页面数据