jquery - 将日期时间传递给 Controller

标签 jquery ajax twitter-bootstrap asp.net-mvc-4 bootstrap-datetimepicker

我想传递在 Controller 中的日期时间选择器中选择的日期时间。

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

<script src="~/Scripts/jquery-2.2.0.min.js"></script>
<script src="~/Scripts/moment.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/bootstrap-datetimepicker.min.js"></script>

<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />

<div class="container">
<div class="row">
    <div class='col-sm-6'>
        <div class="form-group">
            <div class='input-group date' id='datetimepicker1'>
                <input type='text' class="form-control" />
                <span class="input-group-addon">
                    <span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        $(function () {
            $('#datetimepicker1').datetimepicker();
        });
    </script>
</div>
</div>

Controller :

public class HomeController : Controller
{
    //
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }

    public ActionResult GetData(DateTime dateTime)
    {
        return View();
    }
}

执行此操作的最佳方法是什么?使用 Ajax ? 怎样做才是正确的?

 $.ajax({
    url: "/Home/GetData",
    type: "POST",
    dataType: "json",
    data: JSON.stringify(????),
    contentType: "application/json; charset=utf-8",
    success: function (result) { }, 
    failure: function (r, e, s) { alert(e); } 
 });

最佳答案

我不喜欢你把所有这些 JS 和 CSS 放在页面上的方式..无论如何这应该有效。

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

<script src="~/Scripts/jquery-2.2.0.min.js"></script>
<script src="~/Scripts/moment.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/bootstrap-datetimepicker.min.js"></script>

<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />

<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                <div class='input-group date' id='datetimepicker1'>
                    <input type='text' class="form-control" />
                    <span class="input-group-addon">
                        <span class="glyphicon glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
        <script type="text/javascript">
            $('#datetimepicker1').datetimepicker({useCurrent: false});
            $('#datetimepicker1').on("dp.change",function(e){
                $.ajax({
                    url: "/Home/GetData",
                    type: "POST",
                    data: {nameOfVar: $('#datetimepicker1').data('DateTimePicker').date().format('YYYY-MM-DD HH:mm')},
                    contentType: "application/json",
                    success: function(result){ alert('Done') }, 
                    error: function(r,e,s){ alert(e) } 
                });
            });
        </script>
    </div>
</div>

关于jquery - 将日期时间传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467543/

相关文章:

html - 计算每个段落中的字符数

php - 如何使用 php 和 javascript 为特定结果显示正确的图像?

javascript - jsp中可以更改referer吗?或者如何更改referer?

javascript - 如何使用 Jquery 在 AJAX 请求后替换元素的文本

php - 我需要回显从另一个页面上的 mysql 填充的下拉选择

javascript - 尝试在问号后追加时,表单出错

html - 如果 bootstrap.min.css 链接两次会产生任何副作用

html - Bootstrap下拉选择长内容浮出浏览器explorer和firefox

css - 悬停后下拉导航菜单项消失

jquery - 如何将serializeArray作为json传递给MVC Controller