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

Access client side variable on the server side

本文关键字:变量 客户端 服务器端 访问      更新时间:2023-09-26

我正在开发一个应用程序,该应用程序具有大量客户端javascript处理功能,用于围绕响应应用程序(最终由一个巨大的表单组成)进行导航。

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

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

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

你知道我该怎么做吗?

使用隐藏输入来存储DateTime值并更新按钮单击事件中的值。理想情况下,根据视图模型中的属性生成此输入,否则,向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)
{

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

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

有很多方法可以剥这只猫的皮。