MVC 4.0 学习中遇到的bug
1.0 _ViewStart.cshtml
_ViewStart.cshtml 里面的如果写了 <script src="/Scripts/jquery-1.8.2.js"></script>
jquery会加载在html标签外面,可能导致jquery调用出问题.(学习瀑布里时,就是因为这个问题,查了好久好久...)
所以,不建议在_ViewStart.cshtml里的以上写法.
2.0 此请求已被阻止,...
用linq时,先排序才能skip,不排序直接skip会导致提示(很诡异的提示):
此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet
3.0 Response.End() 在MVC里,后续代码继续执行
webform下使用System.Web.HttpContext.Current.Response.End()首先引发了一个异常,在异常处理完(执行完catch中代码)后到执行Application_EndRequest();
System.Web.HttpContext.Current.Response.End()在webform下引发了异常而在ASP.NET MVC没有。
解决:return;
4.0 Edit之后,EF容器有代理对象,导致再次Where拿到的是之前的代理,只有 "sex", "nick_name", "msn", "qq", "email" 和"id" 这几个属性...不是全属性. 这是 Session[Keys.uinfo] 的的对象属性不完整.
public ActionResult UserInfo(dt_users model) { int uid = model.id; userSer.Edit(model, new[] { "sex", "nick_name", "msn", "qq", "email"}); userSer.SaveChanges(); var x = Factory.GetDbContext().Set<dt_users>().Where(c => c.id == uid).FirstOrDefault(); ; Session[Keys.uinfo] = x; return Content("<script>alert('保存成功!');window.location='/personalCenter/userInfo';</script>"); }
待续...
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果感觉对您有用,请点击推荐。您的支持,是我的动力!