如何在DateTimePicker中从Javascript设置MVC视图中的会话值?
我有这段代码:
if('@Session["Data"]'==""){
$('#datetimepicker').datepicker('setDate', startDate); @Session["Data"] = startDate;}
else { $('#datetimepicker').datepicker('setDate', '@Session["Data"]'); }
此代码工作正常,但代码
@Session["Data"] = startDate;
不工作。我如何在这里保存数据?
谢谢大家
答案 0 :(得分:0)
剃刀视图中的C#代码在服务器中执行。但是你的javascript代码在客户端上执行。因此,您无法像在问题中那样在javascript中设置c#变量值。
您可以做的是对端点进行ajax调用,并在会话中设置值。因此,创建一个动作方法来处理ajax调用
[HttpPost]
public ActionResult SetDate(DateTime date)
{
// Set to session here
return Json( new { Status="Success"});
}
现在,从您的javascript代码中,使用ajax调用此端点并传递日期值。
var startDate= "Read the date value here";
$.post("YourControllerName/SetDate", { date = startDate},function(r){
if(r.Status==="Success")
{
alert("Date is now in session")
}
});
您可以考虑使用Url.Action
辅助方法生成操作方法的路径,而不是硬编码。
答案 1 :(得分:0)
您正在合并javascript和c#代码。
您无法将startDate(javascript)设置为Session(c#),因为javascript在客户端运行。
如果 startDate 等于 DateTime.Now ,它会帮助您。
{{1}}