在執行 ASP.NET MVC ajax 新增資料時,發生了重覆 insert的事情。
為什麼呢?原來是重複引用了 @Scripts.Render("~/bundles/jqueryval"). (在 View 中用了一次,在 layout page 中又一次 )
產生的 html code 如下
<script src="/App/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script> <script src="/App/Scripts/jquery.validate.js" type="text/javascript"></script> <script src="/App/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
兩次會有什麼效果呢?就是執行一次Request,結果會出現2次的 Request. 如下圖所示。
如果該引用這些 js 而忘了引用呢?不會發生 javascript error, 反而像是沒有 client side validation 一般,只出現 server side 的 validation。
這種現象好奇怪,在開發時很難想到是js 引用次數的問題。