2012-05-31 61 views
5

我有一个MVC应用程序与多个窗体。提交表单时,它将用户gps坐标传递给服务器。我也想传递客户端当前的日期时间。客户端窗体提交日期时间,MVC应用程序

有没有人有任何想法,以最好的方式来做到这一点?

这些表格是标准的html表单,并使用基本的提交。

我的表单看起来像下面那样。那么我怎样才能最好地将JavaScript日期时间值附加到提交调用?

  @using (Ajax.BeginForm("CheckIn", "Home", "Nothing", new AjaxOptions { })) 
      { 
       <fieldset> 
        <p>Move your Tile here to let those around you see it...</p> 
        <input type="hidden" name="lat" id="hckLat" value="" /> 
        <input type="hidden" name="lon" id="hckLon" value="" /> 
        <input type="hidden" name="date" id="hckDate" value="" /> 
        <input type="submit" value="Check In!" /> 
       </fieldset> 
      } 
+0

什么部分不清楚?如何在JavaScript中创建日期?如何将它的值赋给表单输入? – RedFilter

回答

5

您可以使用JavaScriptDate函数在客户机上呈现。

var d = new Date(); 

然后,您可以在提交坐标时将变量d传递给服务器。

从您的编辑:

Home controllerCheckin方法,你可以指定:

public ActionResult Checkin(string hckLat, string hckLong, string hckDate) 
{ 
    var theDate = hckDate; 
} 

要设置的hckDate值,你可以这样做:

提交按钮点击:

<input type="button" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="setDate();"> 

function setDate() { 
    var e = document.getElementById('hckDate'); 

    e.value = new Date(); 
} 

Th然后将被发送到服务器。

+0

@BenCameron在你的问题中,你声明“表单被提交,它通过用户gps坐标传递给服务器” - 当你提交坐标时,只需指定变量d,它就会被发送到服务器。理解? –

+0

不是。我已经给这个问题增加了一个形式。那么我如何将日期时间值附加到表单中? –

+0

@BenCameron - 你的家庭控制器中的“签入”功能是否具有模型绑定属性“hckLat”,“hckLong”,你可以修改控制器采取“hckDate” –

1

使用JavaScript函数:

var currentDateTime = new Date() 

那么也许看看moment.js对其进行格式化为MVC控制器

相关问题