在MVC视图和DateTimePicker中设置会话变量
Set Session Variable In MVC View and DateTimePicker
如何在DateTimePicker中从Javascript在MVC视图中设置Session值?
我有这个代码:
if('@Session["Data"]'==""){
$('#datetimepicker').datepicker('setDate', startDate); @Session["Data"] = startDate;}
else { $('#datetimepicker').datepicker('setDate', '@Session["Data"]'); }
这个代码工作正常,但代码
@Session["Data"] = startDate;
不起作用。如何在此处保存数据?
感谢所有
您正在合并javascript和c#代码。
您不能将startDate(javascript)设置为Session(c#),因为javascript在客户端运行。
如果startDate等于DateTime。现在会对您有所帮助。
<script>
if('@Session["Data"]'===""){
$('#datetimepicker').datepicker('setDate', new Date());
@(Session["Data"] = DateTime.Now);
} else {
$('#datetimepicker').datepicker('setDate', '@Session["Data"]');
}
</script>
剃刀视图中的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
辅助方法来生成操作方法的路径,而不是硬编码。
相关文章:
- 正在Javascript响应中设置会话变量
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- 设置会话变量并从Jquery更改页面
- 单击按钮即可设置会话
- 根据页面中设置的值在php中设置会话
- Chrome和Firefox不会取消设置会话数组,但IE和Safari会取消设置
- 在MVC视图和DateTimePicker中设置会话变量
- 如何在javascript中设置会话值
- jQuery和ajax在PHP中设置会话变量
- 在Express中手动设置会话ID
- 如何设置会话 Cookie 以保护和使用 CSRF 令牌
- 如何在 jquery 中设置会话变量
- 在 PHP 中关闭网页时如何取消设置会话
- 如何在页面关闭时取消设置会话
- 使用类单击时如何设置会话[“类型”]
- 如何使用挖空从虚拟机设置会话变量
- 如何使用JavaScript设置会话变量
- 使用AJAX在PHP中设置会话变量
- 在刷新页面之前不会设置会话属性
- 设置会话变量并执行javascript函数