我正在开发一个应用程序,它有很多客户端JavaScript处理导航响应应用程序(最终由一个巨大的形式组成)周围。在服务器端访问客户端变量
基本上,随着用户在表单中前进(即按下一个在javascript中处理客户端的按钮),我需要存储用户按下按钮的时间戳。
当触发按钮事件时,我在JavaScript变量中存储时间戳。
现在,当用户按下表单上的提交按钮并将POST请求发送到服务器时,我需要发送这些变量的值。
任何想法,我可以做到这一点?
我正在开发一个应用程序,它有很多客户端JavaScript处理导航响应应用程序(最终由一个巨大的形式组成)周围。在服务器端访问客户端变量
基本上,随着用户在表单中前进(即按下一个在javascript中处理客户端的按钮),我需要存储用户按下按钮的时间戳。
当触发按钮事件时,我在JavaScript变量中存储时间戳。
现在,当用户按下表单上的提交按钮并将POST请求发送到服务器时,我需要发送这些变量的值。
任何想法,我可以做到这一点?
使用隐藏输入来存储DateTime
值,并更新按钮单击事件中的值。理想情况下,根据视图模型中的属性生成此输入,否则,向您添加一个附加参数以便接受日期。例如
选项1:将其他属性添加到您的视图模型中,例如public DateTime UserDate { get; set; }
并在视图
@Html.HiddenFor(m => m.UserDate)
和在脚本,更新它的值
$('#UserDate').val((new Date()).toUTCString());
选项2:如果没有额外的视图模型属性
<input type="hidden" id="UserDate" name="UserDate" />
和在后的方法
[HttpPost]
public ActionResult YourMethod(YourModel model, DateTime userDate)
{
使用隐藏字段应该可以解决您的问题。用你想要的时间更新JS中的隐藏字段并访问服务器端的
你有没有可能提供一个传递的代码示例,说一个基本的价值?干杯 – user3556163 2014-08-27 17:08:38
请检查这个[链接](http://www.dotnetcurry.com/showarticle.aspx?ID=203) – 2014-08-27 17:13:44
这似乎不是MVC – user3556163 2014-08-27 17:19:14
您可以将时间戳存储在隐藏的div中,然后检索并通过ajax发送。或者你可以像knockoutjs这样的数据绑定框架,甚至可以使用signalR将其立即发送回服务器。
许多方法来剥皮这只猫。
asp在serv上运行呃,js在服务器上运行。如果你想从服务器访问JS中的东西,你需要让JS通过Ajax将它发送回服务器。 – 2014-08-27 16:59:01
我认为你的意思是“js在*客户*上运行”。 – 2014-08-27 18:19:15