我正在使用 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 <script> 标签中使用 <%= code %> 嵌入 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735866/