2017-05-09 1 views
0

Je suis nouveau sur asp.net MVC5, s'il vous plaît soyez patient.passer la propriété du modèle de la vue à javascript dans asp.net MVC5

J'ai un contrôleur qui retourne ActionResult avec un modèle, je peux utiliser ce modèle via Razor mais je voudrais l'utiliser en JavaScript.

J'ai cherché des exemples et avons essayé ensuite atteint à ce résultat


 
    $('document').ready(function() { 
 
    $("#Arrival").datepicker({ 
 
     minDate: 0, 
 
     maxDate:userObj , ////here i want to pass model value 
 
     dateFormat: 'dd/mm/yy', 
 
     showOn: "button", 
 
     buttonImage: "img/ui_cal_icon.gif", 
 
     buttonImageOnly: true, 
 
     buttonText: "Select date", 
 

 
    }); 
 
});

c'est le script de la vue que je veux transmettre ces valeurs que je l'ai eu à maxDate dans datepicker

<script type="text/javascript"> 
 
     var userObj = @Html.Raw(Json.Encode(Model.MaximumDaysAheadBookable)); //For javascript object 
 
     
 
    </script>

Merci pour votre aide.

+1

Alors, quel est exactement le problème? – Jasen

+0

@Jasen je veux définir la valeur maxdate dans datepicker de la vue du modèle, vous l'avez? – ahosam

Répondre

1

Pourrait juste être un mauvais nom, mais MaximumDaysAheadBookable semble être un entier, alors que maxDate nécessite probablement une date JavaScript ou une chaîne de date ISO. Si tel est le cas, alors vous devez faire quelque chose comme:

var maxDate = '@DateTime.Today.AddDays(Model.MaximumDaysAheadBookable).ToString("yyyy-MM-dd")'; 

Il est inutile d'utiliser Html.Raw ou Json.Encode pour cela.

+0

Donc, cette ligne je vais le mettre dans file.js pour passer maxdate à datepicker ?? droite – ahosam

+0

propriété de classe MaximumDaysAheadBookable a jours max je l'ai mis après 450 jours à partir d'aujourd'hui cette ligne le définir à partir d'aujourd'hui? comment je l'ai mis dynamiquement à partir de 'Model.MaximumDaysAheadBookable' – ahosam