0

我必须在 JS 文件中准备好模型值来编写验证。这可能吗?

这似乎不适用于 JS 文件

var name = <%: Model.Name %> 
4

6 回答 6

4

It will not work in js file, but you can write it in script tag like this:

<script type="text/javascript">
    var name = '<%: Model.Name %>';
</script>
于 2013-03-16T09:26:12.727 回答
0

它可能对您有帮助

<script type="text/javascript">
var name = @Model.Name ;
</script>
于 2014-01-31T12:27:18.793 回答
0

您可以将模型放在隐藏字段中,然后在 Js 文件中读取

于 2014-11-06T13:53:13.063 回答
0

你可能有一个标签,它的 id 是你的模型的名称:

<tag id='@Model.Name' class="test"></tag>

在 JS 文件中,您可以获取模型的名称,如下所示:

var name=$("tag.test").attr("id");
于 2013-03-16T19:34:28.817 回答
0

我最近写了一篇关于这个主题的博客:使用部分 Razor 视图生成外部 JavaScript 文件

我的解决方案是使用自定义属性 ( ExternalJavaScriptFileAttribute),它按原样呈现部分 Razor 视图,然后在不带周围<script>标签的情况下返回它。这使它成为一个有效的外部 JavaScript 文件。

此外,您可能想了解6 种将 .NET 服务器端数据传递给 JavaScript 的方法

于 2014-02-14T15:59:45.437 回答
0

我必须指出,在您的标题中您提到了 Razor,但在问题中您使用的是老式的 aspx 语法。那么您使用的是 Razor 还是网络表单?

在任何情况下,您都应该将您的模型放在单引号中'@Model.YourField''<% Model.YourField %>'与此非常相似。

通过这种方式或其他方式,这是成功回答的问题,可以准确回答您的问题:

从外部 Javascript 文件访问 ASP.NET MVC 模型数据

以防万一,这是另一个示例,供您Model使用您在问题中描述的旧学校风格来读取值:

如何在 View 的 javascript 部分访问 ASP MVC 中的 Model.Something 值

希望这会有所帮助,如果没有,请告诉我。

于 2013-03-16T19:23:04.780 回答