我是ASP.Net MVC的初学者,我被困在一个地方。所以,我有几个领域和一个drodpown形式。基于下拉列表我需要发出ajax请求 获取整个datettime对象。 此外,当我得到日期时间时,我不希望用户看到提取的日期时间。但我希望能够在表单提交时访问它。简而言之。
以下是我的新手尝试
型号:
public class PaymentFormMV
{
// some other fields
public DateTime? Dte { get; set; }
}
窗口小部件控制器
public JsonResult GetDate(int selectedUnitType)
{
DateTime result = MoveInHelper.GetDateTime(selectedUnitType);
// result is of type datetime
return Json(result, JsonRequestBehavior.AllowGet);
}
JS FIle:
Ajax Call:
$.ajax({
type: 'GET',
url: '/Widget/GetDate',
data: { selectedUnitType: selectedUnitType},
contentType: "application/json; charset=utf-8",
success: function (data) {
I am getting the data here SUCCESSFULLY
***WHAT TO DO HERE***
},
error: function () {
DisplayError('Failed to load the payment tab.');
}
});
}
CSHTML文件:
@PaymentFormMV
// What HTMLhelper to put here
在旁注:如果我打开一个表格并且我已经有了一些价值,那就说ID,我想把它作为隐藏发送,然后我做下面的事情
@Html.HiddenFor(m=>m.Id)
并在formsubmit上我可以获取ID值。
但我的案例是I get the value dynamically after the form is loaded
。所以,我很困惑如何更新可能是一个隐藏的DOM元素,可以将datetime对象接收到表单提交。请帮帮我,我迷失了。
答案 0 :(得分:0)
将数据传递到隐藏字段,在表单提交时接收
首先,初始化一个隐藏的输入
@Html.Hidden("Dte")
并且您的ajax函数成功,将日期值传递给隐藏字段
success: function (data) {
$("#Dte").val(data);
}
您的表单提交操作,获取值,如果您的操作期望模型,它将自动检测该值,如果没有,您可以使用FormCollection [“输入名称在这里”]获取它, 这个将返回您传递的输入名称的值
var thehiddendate = DateTime.Parse(formCollection["Dte"])