必须嵌入 javascript 代码块
<script type='text/javascript'>
...
</script>
但 Razor 代码不会在 .js
文件中编译,包含在 .cshtml
文件中。
如何实现?或者是否有任何其他优雅的方式来产生类似的效果?
谢谢。
最佳答案
当我遇到这个问题时,有时我会在 .js 文件中提供一个可以在 .cshtml 文件中访问的函数...
// someFile.js
var myFunction = function(options){
// do stuff with options
};
// razorFile.cshtml
<script>
window.myFunction = new myFunction(@model.Stuff);
// If you need a whole model serialized then use...
window.myFunction = new myFunction(@Html.Raw(Json.Encode(model)));
</script>
不一定是最好的选择,但如果你必须这样做,它会做...
您可以尝试的另一件事是在您的 html 元素上使用数据属性,例如 jQuery.validate.unobtrusive 的做法...
//someFile.js
var options = $("#stuff").data('stuff');
// razorFile.cshtml
<input type="hidden" id="stuff" data-stuff="@model.Stuff" />
关于c# - 如何在 .js 文件中嵌入 Razor C# 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406648/