javascript - 在 javascript &lt;script&gt; 标签中使用 <%= code %> 嵌入 C# 代码

标签 javascript asp.net-mvc model embed

我正在使用 ASP.NET MVC 并希望获取模型信息以在我的 javascript 中使用。我对 View 进行了强类型化,因此能够使用 <%= Model.Name %>在我的 HTML 中获取模型数据。

但是一旦我进入 <script>标签,我在使用 <% 时没有智能感知(在 Visual Studio 中),并且信息似乎没有正确呈现。为了能够在 Javascript 中使用尖括号方案,我缺少什么吗?

谢谢。

澄清:我应该发布我第一次尝试使用的代码。为了详细说明,我正在尝试使用 JQuery 的 $.getJSON 从模型中获取数据(通过 Controller ),并填充一个 JSON 对象。我正在使用的 javascript 如下:

    <script type="text/javascript">
    $(document).ready(function() {
        $.getJSON("<%=Url.Action("PopulateJournalOptions", "Evaluation", Model.ID) %>", populateJSON);
    });
</script>

PopulateJournalOptions 是我的 Controller 操作,Evaluation 是我的 Controller 名称,Model.ID 是我要传递给它的内容。顺便说一下,我应该能够使用以下方法实现相同的目的:

<script type="text/javascript">
    $(document).ready(function() {
        $.getJSON("/Evaluation/PopulateJournalOptions/<%= Model.ID %>", populateJSON);
    });
</script>

但即使在这里,我也不确定是否正确使用了这些尖括号。它看起来确实有点不对劲。感谢您的帮助。

UDPATE:继续尝试上面的第二种方法,它确实有效。我在使用使用 Url.Action() 的第一种方法时仍然遇到问题,这很遗憾,因为我认为这是更好的方法。但是 <% 标签现在肯定在渲染数据。我想当没有智能感知并且它们没有像往常一样突出显示时,它只是让我感到震惊。感谢您的快速回复。关于上面第一个选项的正确格式有什么想法吗?

最佳答案

一般来说,<%= %> block 应该只在 Javascript 的引号内使用。因为您在引用的文本中,所以 Intellisense 可能无法工作。

关于javascript - 在 javascript &lt;script&gt; 标签中使用 <%= code %> 嵌入 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735866/

相关文章:

javascript - Highcharts - 显示仪表中最后一个 y 轴值

javascript - string.indexOf() 不工作 javascript

c# - 如何携带在 Asp.net MVC 中选择的下拉值

asp.net-mvc - 在MVC中,如何验证提交的表单隐藏字段的可靠性?

ruby-on-rails - 如果用户检查错过了 3 天,如何重新启动关卡?

javascript - 动画只有一种方式

javascript - 仅当窗口宽度调整大小时才调用 jquery 函数

c# - 无法在用户管理器中访问 CreateAsync

angular - 在 Angular 应用程序中从后端创建数据模型何时有用?

php - Eloquent ORM laravel 5获取ID数组