2012-05-31 23 views
5

Çok sayıda form içeren bir MVC uygulamasına sahibim. Form gönderildiğinde, kullanıcı gps koordinatlarını sunucuya aktardı. Ayrıca, müşterileri güncel veriyi de geçmek istiyorum.İstemci formu gönderim datetime, MVC uygulaması

Bunu yapmanın en iyi yolu hakkında herhangi bir fikri olan var mı?

Formlar standart html formlarıdır ve temel bir gönderme kullanır.

Formum aşağıdakine benziyordu. Peki javascript datetime değerini en iyi gönderen aramaya nasıl eklerim?

  @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

Hangi kısım net değil? JavaScript'te bir tarih nasıl oluşturulur? Bu değer bir form girdisine nasıl atanır? – RedFilter

cevap

5

Sen JavaScript kullanabilirsiniz mvc denetleyici ve Date fonksiyonu için biçimlendirmek için moment.js bakmak .

var d = new Date(); 

Ardından, koordinatları gönderirken d değişkenini sunucuya da geçirebilirsiniz. Düzenlemenizle itibaren

:

Home controller içinde Checkin yöntemde

, belirttiğiniz olabilir:

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

hckDate değerini ayarlamak için, yapabileceği:

Gönder düğmesini Açık click:

( ) daha sonra sunucuya gönderilir.

+0

@BenCameron Sorunuzda, "form kullanıcıya gps koordinatlarını sunucuya aktardı" ifadesini belirtirsiniz - koordinatları gönderdiğinizde, sadece d değişkenini de belirtin ve sunucuya gönderilir. Anlama? –

+0

Gerçekten değil. Soruya formu ekledim. Peki, datetime değerini forma nasıl eklerim? –

+0

@BenCameron - Ev denetleyicisindeki "Checkin" işleviniz "hckLat", "hckLong" model bağlama özelliklerine sahiptir, denetleyiciyi "hckDate" almak için değiştirebilirsin –

1

kullanım javascript fonksiyonu:

var currentDateTime = new Date() 

sonra belki müşteri makinede oluşturulur

İlgili konular