【问题标题】:How to put asp.net MVC code in AngularJS file?如何将 asp.net MVC 代码放入 AngularJS 文件中?
【发布时间】:2015-01-28 09:53:45
【问题描述】:

从这个线程Passing dynamic javascript values using Url.action(),如何将这样的东西放入javascript文件中?这将是 AngularJS 控制器文件。

从上面的示例中,可以在 _Layout.cshtml 脚本标签中定义的 AngularJS 控制器中使用以下内容:

var firstname = "abc";
var username = "abcd";
location.href = '@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username;

问题是 asp.net MVC 代码在放入 javascript 文件时无法正常运行。在 _Layout.cshtml 脚本标签中可以正常工作。但不在 JS 文件中。

【问题讨论】:

标签: asp.net-mvc angularjs


【解决方案1】:

对于这样的场景,我会做如下的事情

假设在我的 Angular 控制器中,我需要传递 LoggedInUser 的值,为此我有一个服务器端 Helper 类可用。

所以在我的 Razor 视图中,我会做这样的事情

<script type="text/javascript">
window.loggedInUser = '@MyHelper.LoggedInUser()';
</script>

然后在我的 Angular 控制器中访问这个全局变量。

【讨论】:

  • 好的。我想这并没有真正的帮助,因为我的大部分代码仍然在 _Layout.cshtml 中,而不是在任何 JS 文件中。最好将所有与 Razor 一起使用的 JS 保留在 _Layout.cshtml 中,而不是试图将其强制放入 JS 文件中。你同意吗?
  • 没有。我会把 JS 放在单独的 JS 文件中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 2015-04-17
  • 2010-09-23
  • 2020-06-23
  • 1970-01-01
相关资源
最近更新 更多