在View中添加了一段jQuery代码用来控制一个按钮的点击事件。发现运行时提示$对象没有定义,经过在浏览器右键查看源文件发现,script代码在引用jquery代码的上方,执行时jquery还未引入,找到模板文件_Layout.cshtml在页面下方看到@RenderSection("Scripts", required: false) 于是回到View文件中将script代码放置在范围中,最终运行时会将@section Scripts 之间的代码放到@RenderSection这个占位符的位置,从而问题解决,果然自己MVC经验不足,之前学过的知识也忘记了,才出现这个窘境。看来还是要多多学习。准备将多年的老项目由asp.net 升级到MVC。
@{ ViewData["Title"] = "QRLogin"; } <br /> <a class="btn btn-lg btn-default" id="btnShowQRCode">获取二维码</a> <img id="imgQRCode" /> @section Scripts { <script type="text/javascript" language="javascript"> $().ready(function () { $("#imgQRCode").hide(); }); </script> }