2016-03-31 12 views
0

DateTimePicker'da MVC Görünümü'nde Javascript'ten bir Oturum değeri nasıl ayarlayabilirim?Ayar Değişkenini MVC Görünümü ve TarihTime Seçici

if('@Session["Data"]'==""){ 
    $('#datetimepicker').datepicker('setDate', startDate); @Session["Data"] = startDate;} 
    else { $('#datetimepicker').datepicker('setDate', '@Session["Data"]'); } 

Bu kod çalışma cezası ancak kod

@Session["Data"] = startDate; 

çalışmıyor:

Bu kodu vardır. Verileri buradan nasıl kaydedebilirim?

sunucusunda işletilirse sizin jilet görünümündeki tüm

cevap

0

Kişisel C# Code teşekkür ederiz. Ancak javascript kodunuz istemcide çalışır. Yani, javascript'inizin içinde, sorgunuzdaki gibi bir C# değişken değeri ayarlayamazsınız.

Yapabilecekleriniz, bir uç noktaya ajax çağrısı yapmak ve buradaki oturumda değeri ayarlamaktır. Yani bu son nokta aramak ve tarih değeri geçmesine ajax görüşme için JavaScript kodundan Şimdi

[HttpPost] 
public ActionResult SetDate(DateTime date) 
{ 
    // Set to session here 
    return Json(new { Status="Success"}); 
} 

, kullanım ajax işlemek için bir eylem yöntemi oluşturmak.

var startDate= "Read the date value here"; 
$.post("YourControllerName/SetDate", { date = startDate},function(r){ 
    if(r.Status==="Success") 
    { 
     alert("Date is now in session") 
    } 
}); 

yerine değişmeyeceği varsayılan eylem yöntemi o yolunu oluşturmak için Url.Action yardımcı yöntemi kullanmayı düşünebilirsiniz.

0

Javascript ve C# kodunu birleştiriyorsunuz.

Javascript'in istemci tarafında çalışması nedeniyle startDate (javascript) öğesini Session (C#) olarak ayarlayamazsınız. sana yardım edeceğim DateTime.Nowiçin

startDate ise

eşittir.

<script> 
    if('@Session["Data"]'===""){ 
     $('#datetimepicker').datepicker('setDate', new Date()); 
     @(Session["Data"] = DateTime.Now); 
    } else { 
     $('#datetimepicker').datepicker('setDate', '@Session["Data"]'); 
    } 
</script>