У меня есть скрипт вроде:
<script>
function getDateIfDate(d) {
var m = d.match(/\/Date\((\d+)\)\//);
return m ? (new Date(+m[1])).toLocaleDateString('en-US', { day: '2-digit', month: '2-digit', year: 'numeric' }) : d;
};
function GetDetails(id) {
$.ajax({
url: "@Url.Action("EditRecord","ActivitPlanHistories")" + "/" + id,
type: "GET",
contentType: "application/json;charset=UTF-8",
dataType: "json",
success: function (response) {
$('#hfId').val(response.ActivityPlanHistoryId);
$('#cboStatus option[value=' + '"' + response.StatusId.toString() + '"' + ']').attr('selected', 'selected');
$('#txtUpdateDate').val(getDateIfDate(response.UpdateDate));
$('#modal-Update').modal('show');
},
error: function (response) {
alert(response.responseText);
}
});
return false;
}
</script>
на txtUpdateDate
, значение загружено правильно. Но когда я попытался запустить контроллер, значение UpdateDate
получило null
. Это происходит только в IE11, работает правильно на chrome или firefox. Это мой контроллер:
[HttpPost]
[ValidateInput(false)]
public ActionResult UpdateCustomer(string ActivityPlanHistoryId, int ActivityPlanId, int StatusId, DateTime? UpdateDate, string Remarks)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["eActivityContext"].ToString());
SqlCommand cmd = new SqlCommand("UPDATE ActivityPlanHistory SET StatusId = @StatusId, UpdateDate = @UpdateDate WHERE ActivityPlanHistoryId = @ActivityPlanHistoryId", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ActivityPlanHistoryId", ActivityPlanHistoryId);
cmd.Parameters.AddWithValue("@StatusId", StatusId);
cmd.Parameters.AddWithValue("@UpdateDate", UpdateDate);
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
return RedirectToAction("Create", new { id = ActivityPlanId });
}
Кто-нибудь знает, как решить эту проблему?