C# 如何在表单加载后通过ajax调用动态传递隐藏加载的值
我是ASP.NETMVC的初学者,我被困在一个地方。所以,我有两个字段和一个drodpown。基于下拉列表,我需要向 获取整个datettime对象。 另外,当我获取日期时间时,我不希望用户看到获取的日期时间。但我希望能够在表单提交时访问它。简而言之C# 如何在表单加载后通过ajax调用动态传递隐藏加载的值,c#,asp.net,ajax,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Ajax,Asp.net Mvc,Asp.net Mvc 5,我是ASP.NETMVC的初学者,我被困在一个地方。所以,我有两个字段和一个drodpown。基于下拉列表,我需要向 获取整个datettime对象。 另外,当我获取日期时间时,我不希望用户看到获取的日期时间。但我希望能够在表单提交时访问它。简而言之 更改下拉列表-完成 更改时发出ajax请求-完成 获取日期时间(不显示在UI上) 在表单提交时,发送所有表单详细信息以及获取的日期时间 下面是我的新手尝试 型号: public class PaymentFormMV { // some
public class PaymentFormMV
{
// some other fields
public DateTime? Dte { get; set; }
}
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.');
}
});
}
@PaymentFormMV
// What HTMLhelper to put here
小部件控制器
public JsonResult GetDate(int selectedUnitType)
{
DateTime result = MoveInHelper.GetDateTime(selectedUnitType);
// result is of type datetime
return Json(result, JsonRequestBehavior.AllowGet);
}
JS文件:
public class PaymentFormMV
{
// some other fields
public DateTime? Dte { get; set; }
}
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.');
}
});
}
@PaymentFormMV
// What HTMLhelper to put here
CSHTML文件:
public class PaymentFormMV
{
// some other fields
public DateTime? Dte { get; set; }
}
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.');
}
});
}
@PaymentFormMV
// What HTMLhelper to put here
另一方面:如果我打开一个表单,我已经有了一些值,比如说ID,我想把它隐藏起来,然后我会做如下的事情
@Html.HiddenFor(m=>m.Id)
在formsubmit上,我可以获取ID值
但是我的情况是
我在加载表单后动态获取值
。因此,我感到困惑如何更新可能是一个隐藏的DOM元素,它可以将datetime对象作为表单submit上的接收对象。请帮助我,我迷路了。将数据传递到隐藏字段,在表单提交中接收数据
首先,初始化一个隐藏的输入
@Html.Hidden(“Dte”)
如果ajax函数成功,则将日期值传递给隐藏字段
success: function (data) {
$("#Dte").val(data);
}
您的表单提交操作,获取值,如果您的操作需要模型,它将自动检测值,如果没有,您可以使用FormCollection[“此处输入名称”]获取值,
这个函数将返回所传递输入名称的提交值
var thehiddendate=DateTime.Parse(formCollection[“Dte”])
您可以将表单序列化并通过Ajax发送给控制器,或者如果您接受回帖,您只需创建一个表单并将输入映射到控制器操作,其中包含它接受的每个输入名称的所有参数。这有什么意义?为什么不在提交表单时在POST方法中获取DateTime
值?@StephenMuecke:Oh。。你的意思是我可以在HTTPPOST控制器操作方法中直接获取后端本身的datetime,因为我不打算向用户显示datetime。这完全有道理。我试试这个。非常感谢。HTML帮助程序版本。它与模型没有很强的关联,对吗?我是否需要为强类型隐藏输入元素添加“For”关键字?