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>");
}

待续...

欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果感觉对您有用,请点击推荐。您的支持,是我的动力!
原文地址:https://www.cnblogs.com/ICE_Inspire/p/4986623.html