Asp.net mvc将C#模型传递给Javascript文件

aho*_*sam 1 javascript asp.net-mvc jquery datetime

我想将我从模型中获取的值传递给java脚本函数

 <script type="text/javascript">
 
 var checkin = @Model.Parameters.Checkin.ToString("dd-MM-yyyy");
        var checkout = @Model.Parameters.Checkout.ToString("dd-MM-yyyy");
        
 </script>
Run Code Online (Sandbox Code Playgroud)

这个函数,我想传递模型小鸡和小鸡的价值:

$('document').ready(function () {       

   $("#Arrival").val(checkin);
  $("#Departure").val(checkout); 
 });
Run Code Online (Sandbox Code Playgroud)

我尝试了很多解决方案,但它还没有奏效.任何建议,谢谢

Ash*_*man 7

如果@Model.Parameters.Checkin@Model.Parameters.Checkout没有null那么不妨试试:

 <script type="text/javascript">

$( document ).ready(function(){       
 var checkin = '@Model.Parameters.Checkin.ToString("dd-MM-yyyy")';
 var checkout = '@Model.Parameters.Checkout.ToString("dd-MM-yyyy")';

   $("#Arrival").val(checkin);
  $("#Departure").val(checkout); 
 });
Run Code Online (Sandbox Code Playgroud)

只是你想念'.并$('document').ready(function () { })改为 $(document).ready(function () { }).

你必须将所有内容script写入.cshtml文件.@Model.Parameters.Checkin.ToString("dd-MM-yyyy")永远不会工作到.js文件.

因为,在.cshtml,当页面呈现时,它将白色作为字符串的HTTP响应流.

  • 最佳实践说你不应该混合 C# 和 Javascript。我认为你应该在 HTML 属性中传递你的模型。 (2认同)