访问服务器端的客户端变量

时间:2014-08-27 16:56:10

标签: c# javascript asp.net asp.net-mvc

我正在开发一个应用程序,它有很多客户端javascript处理用于围绕响应式应用程序导航(最终由一个巨大的表单组成)。

基本上,当用户进入表单时(即按下javascript中处理客户端的按钮),我需要存储用户按下按钮的时间戳。

触发按钮事件时,我将时间戳存储在JavaScript变量中。

现在,当用户按下表单上的提交按钮并将POST请求发送到服务器时,我需要发送这些变量的值。

我有什么想法可以做到这一点吗?

3 个答案:

答案 0 :(得分:1)

使用隐藏输入存储DateTime值并更新按钮单击事件中的值。理想情况下,根据视图模型中的属性生成此输入,否则,向post post方法添加一个附加参数以接受日期。例如

选项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)
{

答案 1 :(得分:0)

使用隐藏字段可以解决您的问题。使用您想要的时间更新JS中的隐藏字段并在服务器端访问

答案 2 :(得分:0)

您可以将时间戳存储在隐藏的div中,然后检索它并通过ajax发送它。或者你可以使用像knockoutjs这样的数据绑定框架,甚至可以使用signalR立即将它发送回服务器。

为这只猫皮肤涂抹的方法很多。