我有一个Jquery日期选择器,日期是从DatePicker中选择的,但我不知道如何使用我的模型发送或附加该日期,以便它可以传输到控制器。如
<div class="editor-label">
<%: Html.LabelFor(Function(model) model.UserName) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(Function(model) model.UserName) %>
<%: Html.ValidationMessageFor(Function(model) model.UserName) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(Function(model) model.SecretVoucherId) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(Function(model) model.SecretVoucherId) %>
<%: Html.ValidationMessageFor(Function(model) model.SecretVoucherId) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(Function(model) model.VoucherDate) %>
</div>
<%-- here i have Jquery Date Picker, How to send this Selected date to Controller with model --%>
<p>Date: <input type="text" id="datepicker" ></p>
<p>
<input type="submit" value="Save Voucher" />
</p>
答案 0 :(得分:0)
如果您使用<%: Html.EditorFor(Model.VoucherDate) %>
正确设置模型并使用首都Function(model)
作为@model
,您仍然可以使用M
(无需Model
部分)而不是model
。
然后,在您的javascript调用中使用名称$("#VoucherDate")
而不是$("#datapicker")
但我可能会使用一个类而不是id
,因此您可以在同一页面轻松拥有多个日期选择器,而无需重写javascript。
改为使用:
@Html.TextBox("VoucherDate", Model.VoucherDate, new { @class = "datapicker" })
并在您的javascript通话中将#
更改为.
,以便$("#datapicker")
为$(".datapicker")
作为备注:您需要在HTML中使用name
属性才能作为属性(模型或简单属性)传递给控制器。
作为一个例子:
这永远不会将datepicker
传递给控制器:
<input type="text" id="datepicker" />
这将:
<input type="text" id="datepicker" name="datepicker" >
想象控制器是:
public ActionResult MyAction(DateTime datepicker) { ... }
答案 1 :(得分:0)
我得到了这个,我必须将datepicker绑定到类而不是id,以便它可以重用为:
<script>
$(function () {
$(".datepicker").datepicker();
});
<%: Html.TextBox("VoucherDate", Model.VoucherDate, New With {Key .class = "datepicker"})%>