如何在JavaScript中传递模型数据

3
我需要将模型值 item.ID 传递给我的某个 JavaScript 函数,应该如何做?
我尝试了 function("@item.ID"),但它并不起作用。

你尝试过使用单引号吗? 此外,请在这里放置一些代码/ - Nipun Ambastha
我们需要看到更多的代码,以及你的错误具体是什么? - LoSTxMiND
4个回答

5

通常情况下,它的工作方式是这样的,您只需省略"",否则它将被解释为字符串。因此,您可以在JS中编写类似于以下内容的代码:

var myinteger = @item.ID;

呈现为

var myinteger = 123;   //for example

编辑:当您的id是整数时,这就有意义了,当然,对于字符串,您需要在''""中封装它。不要因智能提示报告的任何语法错误而感到烦恼,它似乎有问题,但它可以很好地解决。


3
您可以通过以下方式将模型数据传递到 JavaScript 文件中: (1). 将值设置在隐藏字段中,然后在 JavaScript 中访问该隐藏字段的值。 (2). 使用函数参数传递值。 (3).
        var LoginResourceKeyCollection = {
            UserName_Required: '<%= Model.UserName%>',
            Password_Required: '<%= Model.Password%>'

        }
   </script>

3

试试这个...在调用JavaScript函数时,使用单引号来包裹参数值。

function MyJsFunction(modelvalue)
{
     alert("your model value: " + modelvalue);
}

<input type="button" onclick="MyJsFunction('@item.ID')" />
OR
<input type="button" onclick="MyJsFunction('@(item.ID)')" />

0

最好的解决方案是将您的文本框ID传递给JavaScript函数,然后在函数中从ID检索值。

 @Html.TextBoxFor(model => model.DatemailedStart, new {id = "MailStartDate", placeholder = "MM/DD/YYYY", maxlength = "40", @class = "TextboxDates", @onblur = "isValidDate('MailStartDate');" })

  function isValidDate(id) {
    var dateString = $('#'+id+'').val();
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接