随笔分类 - 其它
摘要:这个问题是这样的,datacontext是linq to sql数据模型的底层数据库对象所有LINQ数据表对象都是由它派生的,只要你建立一个数据库操作,就建立一个datacontext对象,当然,你可以选择用静态的datacontext,但这是不推荐的,这在微软MSDN和阿布老兄上已经说的很清楚了。言归正传,datacontext对象在频繁调用时,会出现读取数据错误问题,这个我已经测试过,确实有这种情况,现在说一下解决方法首先建立一个数据实体对象,它是与linq数据表相同的类型,如userbases,在读取数据库对象时可以用db.userbases,这样读的时候,在刷新频繁的时间,就出现问题了
阅读全文
摘要:首先,我们一般在shared里面做的公用的ascx分部视图,没有特定的action,一般是把逻辑写在页面上,这样给页面载荷比较大。事实上MVC2.0提供了一个方法,用来在页面上加载Action,通过这个方法,可以使分部视图活起来看代码。banner.ascx<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<MvcApplication1.Controllers.Banner>>" %><%foreach (var i i
阅读全文
摘要:今天用LINQ的update出现问题了,LINQ的BUG不少,呵呵,所以自己把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新看代码:这两个方法是写在DAL里的数据操作基类里的,只有它的子类可以用它,所以用protected做为限制 /// <summary> /// 通用更新方法 /// </summary> /// <param name="tableName">表名</param> /// <param name="param">参数列表,奇数为字段,偶数为他前一
阅读全文
摘要:首先,我们应该把数据提交方法做到一个数据库基类里,就像这样public abstract class dbBase { public virtual void SubmitChanges() { ChangeSet cSet = db.GetChangeSet(); if (cSet.Inserts.Count > 0 || cSet.Updates.Count > 0 || cSet.Deletes.Count > 0) { try { db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict); /
阅读全文
摘要:首先,我们要重写一个View方法,才能更好的返回指定的master页面对于前台controller来说,我们建立一个它的基类/// <summary> /// 前台Controller的基类, /// 提供一些共同属性和方法 /// Created By : 张占岭 /// Created Date : 2011-10-17 /// Modify By: /// Modify Date: /// Modify Reason: /// </summary> public abstract class BaseController : Controller { /// &l
阅读全文
摘要:实事上,一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完成,它一般放在try{}的结尾处,不用判断前台操作是否成功,如果不成功,它会自己回滚。 #region 事务问题 using (TransactionScope trans = new TransactionScope()) { try { InsertUserBase(); //它插入不成功,自己回滚 UserInfos userInfo = new UserInfos { UserID = "1", RealName = "zzl", }; db
阅读全文
摘要:AJAX分页和搜索,一般是两个文件,主文件aspx一般是显示搜索表单,而ascx分部视图中显示列表,一般代码如下: <%=Html.TextBox("UserName") %> <input type="button" id="search" value="搜索" /> <div id="List"> <%Html.RenderPartial("UCList", Model); %> </div>需要对按钮进行触发,
阅读全文
摘要:在MVC环境中,AJAX方式添加一个对象,这个对象在Models中是一个视图模型,在前台显示时是这样的代码: <%using (Html.BeginForm()) { %> 姓名:<%=Html.TextBoxFor(model=>model.UserName) %> Email:<%=Html.TextBoxFor(model=>model.Email) %> 年龄:<%=Html.TextBoxFor(model=>model.Age) %> <input type="button" id=&quo
阅读全文
摘要:用户数据表,每个用户有一个或者多个权限,用户表如下userid,roleid,username等权限枚举如下:public class CustomEnum { [Flags] /// <summary> /// 用户角色枚举 /// </summary> public enum UserRole { /// <summary> /// 游客 /// </summary> Visitor = 1, /// <summary> /// 学生 /// </summary> Student = 2, /// <summar
阅读全文
摘要:今天只说说命名标准,这对象的命名可大有说头,有很多标准,今天我只说我们项目里的标准接口:interface IRepository{} 首字母为大写i,其它所有单词首字母大写类:class PeopleOperator{} 所有单词首字母大写枚举:enum PeopleStatus{} 所有单词首字母大写结构:struct ImageSize{} 所有单词首字母大写属性:public string Name{get;set;} 所有单词首字母大写方法:public string DisplayName() 所有单词首字母大写方法参数:public string DisplayName(stri
阅读全文
摘要:在业务逻辑层实现IOC,可以有效的减少代码量,把通用的操作写在通用的类中,然后在UI层对谁操作就建立谁的实例。具体做法看代码:Service层核心代码:接口规范:namespace Service{ /// <summary> /// 标准逻辑处理接口 /// </summary> /// <typeparam name="TEntity"></typeparam> public interface IServices<TEntity> where TEntity : class,Entity.IDataEntit
阅读全文
摘要:<script type="text/javascript"> //一个面向对象的JS例子,很好的支持了开闭原则 function HtmlControl(options) {//定义一个方法 var el = options.element; el.style.width = options.width; el.st...
阅读全文
摘要:有一些概念我们清楚,但在实际中不知道如何去用,这往往是C#初学者的一个共同的问题,今天我来讲的就是“浅表拷贝”,简单来说就是把一个对象,一模一样的复制出来一份来,但浅表拷贝只复制原对象的引用地址,在改变新对象时,原来对象不会改变,而深表拷贝是完全拷贝,在改变新对象时,原对象也会受到影响。以下是浅表拷贝的实现,利用了MemberwiseClone方法class People { public string Name { get; set; } public string Email { get; set; } public People ShallowCopy() { //直接使用内置的浅拷贝方
阅读全文
摘要:过去的过去,往往对于一种问题有一个很直观的解决方法,如,判断用户是否登陆,判断用户session是否为空,一般会这个写在页面中: if(HttpContext.Session.IsNewSession){ // go to Logon}每个需要验证的页面都要这样去写同样的代码,这样的程序是我们不提供的,因为它重复了自己。当.net出现Attribute之后,MVC出现了之后,改变了这一切,如果...
阅读全文
摘要:前一篇说了标准的服务器架构方案,事实上,那是系统建立完成后的事情,在开发时,我们很少这种去设计,也没有必要这样去做,测试环境我们可以使用hosts这个文件来实现,我们可以把5个服务器放在一台电脑上,安装上IIS,然后分别建立站点,如 www.test.com www服务器 img.test.com 图像、脚本服务器 file.test.com 文件服务器 db.test.com...
阅读全文
摘要:返回目录 问题是这样的,Department表是一个部门表,由DeptId,name和Father组成,它是一种树型的关系,一个部门下可以有多个子部门,同时,它有一个父部门,祖宗部门没有父部门。 以下是测试数据(相当于Data层里取出数据的方法): static List<Department> d
阅读全文
浙公网安备 33010602011771号