gpt4 book ai didi

c# - MVC Html.HIddenFor 值未传递给模型

转载 作者:太空狗 更新时间:2023-10-29 23:30:12 24 4
gpt4 key购买 nike

我正在使用 JQueryUI Datepicker,这是我在 View 中使用的代码

@model myprojectName.WebSite.DataModel.AvailableDate

<script>
$(function () {
$("#datepicker").datepicker();
});


</script>
<h3 class="headerColorWhite">Book a session with Mike</h3>
<p class="mainText">Select a date that you wish to train with Mike</p>

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

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

当点击提交\搜索可用插槽按钮时,这似乎并没有将我选择的日期发送回模型。

这是将日期传递给的模型

public partial class AvailableDate
{
private DateTime? _DateAvailable;

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yyyy}")]
public System.DateTime DateAvailable
{
get { return _DateAvailable ?? DateTime.Today; }
set { _DateAvailable = value; }
}
}

能否请您告诉我哪里出了问题以及我需要做什么才能解决此问题。

----------------编辑以显示获取和发布方法----------------

// GET: Bookings
public ActionResult Index()
{

return View();
}
[HttpPost]
public ActionResult Index(AvailableDate availableDate)
{
return View();
}

最佳答案

此时,隐藏字段 DateAvailable 将始终设置为 null。当您从数据选择器中点击一个日期时,它当前不会更新隐藏字段。

所以,而不是

$(function () {
$("#datepicker").datepicker();
});

尝试:

$(function() {
$("#datepicker").datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function (dateText, e) {
$("#DateAvailable").val($(this).val());
}
});
});

这将为隐藏字段分配一个值。此外,正如我们在转换中所讨论的,日期需要格式化,如上面的 dateFormat: 'dd-mm-yy' 所定义。

关于c# - MVC Html.HIddenFor 值未传递给模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32383749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com