2012-05-31 10 views
5

Mam aplikację MVC z wieloma formularzami. Po przesłaniu formularza przekazał on współrzędne GPS użytkownika na serwer. Chcę również przekazać klientom bieżącą datę i godzinę.Formularz klienta składa datetime, aplikacja MVC

Czy ktoś ma jakieś pomysły, aby jak najlepiej to zrobić?

Formularze są standardowymi formularzami html i używają podstawowego zgłoszenia.

Moja forma będzie wyglądać jak ta poniżej. Więc jak najlepiej przywiązuję wartość datetime javascript do wywołania?

  @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

Która część nie jest jasna? Jak utworzyć datę w JavaScript? Jak przypisać jej wartość do danych wejściowych formularza? – RedFilter

Odpowiedz

5

Można wykorzystać JavaScript i funkcji Date która jest renderowane na maszynie klientów .

var d = new Date(); 

Następnie można przekazać zmienną d do serwera po przesłaniu współrzędnych.

ze swojego EDIT:

W swojej metody w Home controllerCheckin, można określić:

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

Aby ustawić wartość hckDate, można zrobić:

na przycisk złożenia kliknij:

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

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

    e.value = new Date(); 
} 

Th zostanie wysłany na serwer.

+0

@BenCameron W swoim pytaniu stwierdzasz, że "formularz został przesłany, przekazał współrzędne GPS użytkownika do serwera" - kiedy podasz współrzędne, po prostu podaj również zmienną d, która zostanie wysłana na serwer. Rozumiesz? –

+0

Niezupełnie. Dodałem formularz do pytania. W jaki więc sposób dołączyć do formularza wartość datetime? –

+0

@BenCameron - Czy twoja funkcja "Checkin" w kontrolerze głównym ma właściwości wiązania modelu "hckLat", "hckLong", możesz po prostu zmodyfikować kontroler tak, aby wykonał "hckDate" –

1

użycie funkcji javascript:

var currentDateTime = new Date() 

to może wyglądać na moment.js sformatować go do mvc kontroler

Powiązane problemy