【问题标题】:Asp.net mvc passing a C# model to Javascript fileAsp.net mvc 将 C# 模型传递给 Javascript 文件
【发布时间】:2017-10-15 09:49:00
【问题描述】:

我想将我从模型中得到的值传递给 java-script 函数

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

我想将模型加入和退出值传递给它的这个函数:

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

   $("#Arrival").val(checkin);
  $("#Departure").val(checkout); 
 });

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

【问题讨论】:

  • 如果@Model 有值试试checkin = '@Model.Parameters.Checkin.ToString("dd-MM-yyyy")';
  • 脚本内 var obj = '@(Model.Parameters.Checkin.ToString("dd-MM-yyyy"))'
  • @AsifRaza 我替换仍然无法正常工作,我从 view.cshtml 脚本中的模型中获取值,但在 js.file 中我无法从模型中获取值?
  • '@(Model.Parameters.Checkin)' 试试这个,并确保你在 Parameter.Checkin 中获得价值?
  • @AsifRaza 现在,当我试图将您的行放入 $('document').ready(function () { });函数我无法获得它给我这一行@(Model.Parameters.Checkin) 的值,但如果将它设置为view.chtml,我会正确获得值??

标签: javascript jquery asp.net-mvc datetime


【解决方案1】:

如果 @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); 
 });

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

您必须将所有script 写入.cshtml 文件。 @Model.Parameters.Checkin.ToString("dd-MM-yyyy") 永远不会在 .js 文件中工作。

因为,在.cshtml 中,当页面被渲染时,它会以字符串的形式发送到 HTTP 响应流。

【讨论】:

  • 最佳实践表明您不应该混合使用 C# 和 Javascript。我认为你应该在 HTML 属性中传递你的模型。
【解决方案2】:

在 MVC 中,您可以使用以下代码:

<script type="text/javascript">
    var number = parseInt(@ViewBag.Number); //Accessing the number from the ViewBag
    alert("Number is: " + number);
    var model = @Html.Raw(@ViewBag.FooObj); //Accessing the Json Object from ViewBag
    alert("Text is: " + model.Text);
</script> 

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2011-05-08
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多