ASP.Net JQuery UI 将所选日期传递给模型

ASP.Net JQuery UI pass selected date to Model

我正在使用 JQuery UI DatePicker,并希望用户单击一个可用日期,当单击该日期时将触发一个事件并将日期传递给模型,所以我的控制器可以从数据库中取回信息。

我的视图现在看起来像这样,但我不知道我需要从这里做什么。

@model WebSite.DataModel.Booking

<script>
$(function () {
    $("#datepicker").datepicker({ dateFormat: "dd-mm-yy" }).val();
});

@using (Html.BeginForm())
{
<div class="editor-field left" id="datepicker">
    @Html.HiddenFor(model => model.SessionDate)
    @Html.ValidationMessageFor(model => model.SessionDate)
</div>


    <div class="col-md-10">
        <input type="submit" value="Search Available Slots" class="btn btn-default left" />
    </div>
}

我在网上四处看看,但找不到任何会触发事件以根据日期选择器单击事件传递来自@Html.HiddenFor 的值的事件。

非常感谢任何帮助。

谢谢

我的解决方案可能对您有所帮助。

第一件事:在您的 javascript 中,.val() 不是必需的,如下所示。

$("#datepicker").datepicker({ dateFormat: "dd-mm-yy" });

但是,您需要为日期选择器的onSelect 事件绑定一个函数。我在这里写的是匿名函数,你可以用你自己的函数替换。

$("#datepicker").datepicker({ 
    dateFormat: "dd-mm-yy",
    onSelect: function () {
        //alert($("#datepicker").val());

        //for the below line, please check  
        //the rendered control's id and use the same.
        $("#WebSite.DataModel.Booking.SessionDate").val($("#datepicker").val());
    }
});

您已将值输入到隐藏字段中。现在由您决定 post 表单或通过动态形成数据并传递给操作来发出 ajax 请求。

如果您需要更多信息,请告诉我。

如果对您有用,请将其标记为答案:)