You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC:如何将视图中的日期字符串传递至控制器?

如何在ASP.NET MVC中把FullCalendar的dayClick日期传递到控制器?

我来帮你搞定这个问题,核心就是通过前端请求把选中的日期传递给后端控制器,下面给你两种实用的实现方式:

方式一:AJAX异步提交(推荐,无页面刷新)

先修改视图里的dayClick方法,加入AJAX请求把格式化后的日期发送到控制器:

$('#calendar').fullCalendar({ 
    dayClick: function(date) { 
        // 把日期格式化为后端易解析的格式,比如'YYYY-MM-DD'
        const selectedDate = date.format('YYYY-MM-DD');
        console.log(selectedDate);

        // 发送POST请求到控制器
        $.ajax({
            url: '/你的控制器名称/Booking', // 替换成实际路径,比如'/Booking/Booking'
            type: 'POST',
            contentType: 'application/json',
            data: JSON.stringify({ test: selectedDate }), // 键名要和控制器参数名一致
            success: function(response) {
                console.log('日期已成功提交到控制器');
            },
            error: function(xhr, status, error) {
                console.error('提交失败:', error);
            }
        });
    } 
})

然后调整控制器代码,建议直接接收DateTime类型(比string更规范):

[HttpPost] 
public IActionResult Booking(DateTime test) { 
    var booking = new Booking(); 
    booking.Date = test; // 直接赋值给DateTime属性
    Console.WriteLine($"收到的日期: {test:yyyy-MM-dd}"); 
    
    // 继续你的业务逻辑,比如保存到数据库、构建视图模型等
    var viewModel = new BookingsideViewModel { /* 补全视图模型内容 */ };
    
    // 返回JSON响应告知前端处理结果
    return Json(new { success = true, message = "日期处理完成" });
}

方式二:表单提交(适合需要页面跳转的场景)

如果需要提交后刷新页面或跳转,可以用隐藏表单的方式:

先在视图里添加一个隐藏表单:

<form id="dateSubmitForm" action="/你的控制器名称/Booking" method="post">
    <input type="hidden" id="hiddenDate" name="test" />
</form>

再修改dayClick方法,设置隐藏字段值并提交表单:

$('#calendar').fullCalendar({ 
    dayClick: function(date) { 
        const selectedDate = date.format('YYYY-MM-DD');
        $('#hiddenDate').val(selectedDate);
        $('#dateSubmitForm').submit();
    } 
})

控制器代码和方式一保持一致即可。

注意事项

  • 务必替换AJAX或表单中的url路径,确保指向你的控制器Booking方法,比如控制器是HomeController,路径就是/Home/Booking;如果有区域(Area),要加上区域路径,比如/Admin/Booking/Booking
  • 确保页面已引入jQuery,FullCalendar和AJAX都依赖它
  • 日期格式尽量统一(比如YYYY-MM-DD),避免后端解析时出现格式错误

内容的提问来源于stack exchange,提问作者Boris Grunwald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:05:24