点击这里下载
aspx:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:ButtonID="btn_INSERT"runat="server"OnClick="btn_INSERT_Click"Text="INSERT"/><br/>
<asp:GridViewID="GridView1"runat="server"BackColor="White"BorderColor="#DEDFDE"BorderStyle="None"BorderWidth="1px"CellPadding="4"Font-Names="Arial"Font-Size="9pt"ForeColor="Black"GridLines="Vertical"OnRowDeleting="GridView1_RowDeleting"OnRowEditing="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating"AutoGenerateColumns="False"DataKeyNames="ID"OnRowCancelingEdit="GridView1_RowCancelingEdit">
<FooterStyleBackColor="#CCCC99"/>
<RowStyleBackColor="#F7F7DE"/>
<SelectedRowStyleBackColor="#CE5D5A"Font-Bold="True"ForeColor="White"/>
<PagerStyleBackColor="#F7F7DE"ForeColor="Black"HorizontalAlign="Right"/>
<HeaderStyleBackColor="#6B696B"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"/>
<Columns>
<asp:BoundFieldDataField="UserID"HeaderText="UserID"/>
<asp:BoundFieldDataField="Message"HeaderText="Message"/>
<asp:BoundFieldDataField="CreateTime"HeaderText="CreateTime"ReadOnly="True"/>
<asp:CommandFieldCancelText="CANCEL"UpdateText="UPDATE"EditText="EDIT"DeleteText="DELETE"ShowDeleteButton="True"ShowEditButton="True"/>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:ButtonID="btn_INSERT"runat="server"OnClick="btn_INSERT_Click"Text="INSERT"/><br/>
<asp:GridViewID="GridView1"runat="server"BackColor="White"BorderColor="#DEDFDE"BorderStyle="None"BorderWidth="1px"CellPadding="4"Font-Names="Arial"Font-Size="9pt"ForeColor="Black"GridLines="Vertical"OnRowDeleting="GridView1_RowDeleting"OnRowEditing="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating"AutoGenerateColumns="False"DataKeyNames="ID"OnRowCancelingEdit="GridView1_RowCancelingEdit">
<FooterStyleBackColor="#CCCC99"/>
<RowStyleBackColor="#F7F7DE"/>
<SelectedRowStyleBackColor="#CE5D5A"Font-Bold="True"ForeColor="White"/>
<PagerStyleBackColor="#F7F7DE"ForeColor="Black"HorizontalAlign="Right"/>
<HeaderStyleBackColor="#6B696B"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"/>
<Columns>
<asp:BoundFieldDataField="UserID"HeaderText="UserID"/>
<asp:BoundFieldDataField="Message"HeaderText="Message"/>
<asp:BoundFieldDataField="CreateTime"HeaderText="CreateTime"ReadOnly="True"/>
<asp:CommandFieldCancelText="CANCEL"UpdateText="UPDATE"EditText="EDIT"DeleteText="DELETE"ShowDeleteButton="True"ShowEditButton="True"/>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
aspx.cs
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Collections;
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
SetBind();
}
}
privatevoidSetBind()
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
this.GridView1.DataSource=gm.GetGuestMessage();
this.GridView1.DataBind();
}
protectedvoidbtn_INSERT_Click(objectsender,EventArgse)
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
IListlist=gm.GetGuestMessage();
list.Insert(0,newDataEntity.GuestMessage());
this.GridView1.EditIndex=0;
this.GridView1.DataSource=list;
this.GridView1.DataBind();
}
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
GridViewRowgvr=this.GridView1.Rows[e.RowIndex];
objectAutoID=this.GridView1.DataKeys[e.RowIndex].Value;
DataEntity.GuestMessagegmentity=newDataEntity.GuestMessage();
if(AutoID!=null)
{
gmentity.Id=AutoID.ToString();
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
gm.DeleteGuestMessage(gmentity);
SetBind();
}
}
protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)
{
this.GridView1.EditIndex=e.NewEditIndex;
SetBind();
}
protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
GridViewRowgvr=this.GridView1.Rows[e.RowIndex];
TextBoxtbUserID=gvr.Cells[0].Controls[0]asTextBox;
TextBoxtbMessage=gvr.Cells[1].Controls[0]asTextBox;
objectAutoID=this.GridView1.DataKeys[e.RowIndex].Value;
DataEntity.GuestMessagegmentity=newDataEntity.GuestMessage();
gmentity.UserID=tbUserID.Text;
gmentity.Message=tbMessage.Text;
if(AutoID==null)
{
gmentity.CreateTime=DateTime.Now;
gm.AddGuestMessage(gmentity);
}
else
{
gmentity.Id=AutoID.ToString();
gmentity.CreateTime=DateTime.Parse(gvr.Cells[2].Text);
gm.UpdateGuestMessage(gmentity);
}
this.GridView1.EditIndex=-1;
SetBind();
}
protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
this.GridView1.EditIndex=-1;
SetBind();
}
}
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Collections;
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
SetBind();
}
}
privatevoidSetBind()
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
this.GridView1.DataSource=gm.GetGuestMessage();
this.GridView1.DataBind();
}
protectedvoidbtn_INSERT_Click(objectsender,EventArgse)
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
IListlist=gm.GetGuestMessage();
list.Insert(0,newDataEntity.GuestMessage());
this.GridView1.EditIndex=0;
this.GridView1.DataSource=list;
this.GridView1.DataBind();
}
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
GridViewRowgvr=this.GridView1.Rows[e.RowIndex];
objectAutoID=this.GridView1.DataKeys[e.RowIndex].Value;
DataEntity.GuestMessagegmentity=newDataEntity.GuestMessage();
if(AutoID!=null)
{
gmentity.Id=AutoID.ToString();
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
gm.DeleteGuestMessage(gmentity);
SetBind();
}
}
protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)
{
this.GridView1.EditIndex=e.NewEditIndex;
SetBind();
}
protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
CUID.GuestMessageCUIDgm=newCUID.GuestMessageCUID();
GridViewRowgvr=this.GridView1.Rows[e.RowIndex];
TextBoxtbUserID=gvr.Cells[0].Controls[0]asTextBox;
TextBoxtbMessage=gvr.Cells[1].Controls[0]asTextBox;
objectAutoID=this.GridView1.DataKeys[e.RowIndex].Value;
DataEntity.GuestMessagegmentity=newDataEntity.GuestMessage();
gmentity.UserID=tbUserID.Text;
gmentity.Message=tbMessage.Text;
if(AutoID==null)
{
gmentity.CreateTime=DateTime.Now;
gm.AddGuestMessage(gmentity);
}
else
{
gmentity.Id=AutoID.ToString();
gmentity.CreateTime=DateTime.Parse(gvr.Cells[2].Text);
gm.UpdateGuestMessage(gmentity);
}
this.GridView1.EditIndex=-1;
SetBind();
}
protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
this.GridView1.EditIndex=-1;
SetBind();
}
}
cuid.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Collections;
usingDataHelper;
usingSystem.Data;
namespaceCUID
{
publicclassGuestMessageCUID
{
privateEntityControlcontrol;
publicGuestMessageCUID()
{
control=EntityControl.CreateEntityControl("DataEntity");
}
publicIListGetGuestMessage()
{
returncontrol.GetEntities("fromDataEntity.GuestMessage");
}
publicvoidAddGuestMessage(DataEntity.GuestMessagegm)
{
control.AddEntity(gm);
}
publicvoidUpdateGuestMessage(DataEntity.GuestMessagegm)
{
control.UpdateEntity(gm,gm.Id);
}
publicvoidDeleteGuestMessage(DataEntity.GuestMessagegm)
{
control.DeleteEntity(gm);
}
}
}
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Collections;
usingDataHelper;
usingSystem.Data;
namespaceCUID
{
publicclassGuestMessageCUID
{
privateEntityControlcontrol;
publicGuestMessageCUID()
{
control=EntityControl.CreateEntityControl("DataEntity");
}
publicIListGetGuestMessage()
{
returncontrol.GetEntities("fromDataEntity.GuestMessage");
}
publicvoidAddGuestMessage(DataEntity.GuestMessagegm)
{
control.AddEntity(gm);
}
publicvoidUpdateGuestMessage(DataEntity.GuestMessagegm)
{
control.UpdateEntity(gm,gm.Id);
}
publicvoidDeleteGuestMessage(DataEntity.GuestMessagegm)
{
control.DeleteEntity(gm);
}
}
}
datahelper.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Collections;
usingNHibernate;
usingNHibernate.Cfg;
usingSystem.Data;
namespaceDataHelper
{
publicclassSessionFactory
{
privatestaticISessionFactorysessions;
privatestaticConfigurationcfg;
staticreadonlyobjectpadlock=newobject();
publicstaticISessionOpenSession(stringAssemblyName)
{
if(sessions==null)
{
lock(padlock)
{
if(sessions==null)
{
BuildSessionFactory(AssemblyName);
}
}
}
returnsessions.OpenSession();
}
privatestaticvoidBuildSessionFactory(stringAssemblyName)
{
cfg=newConfiguration();
cfg.AddAssembly(AssemblyName);
sessions=cfg.BuildSessionFactory();
}
}
publicclassEntityControl
{
privatestaticEntityControlentity;
privatestring_AssemblyName;
staticreadonlyobjectpadlock=newobject();
publicstaticEntityControlCreateEntityControl(stringAssemblyName)
{
if(entity==null)
{
lock(padlock)
{
if(entity==null)
{
entity=newEntityControl();
entity._AssemblyName=AssemblyName;
}
}
}
returnentity;
}
publicvoidAddEntity(Objectentity)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Save(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicvoidUpdateEntity(Objectentity,Objectkey)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Update(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicvoidDeleteEntity(objectentity)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Delete(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicIListGetEntities(stringstrHQL)
{
IListlist;
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
list=session.Find(strHQL);
session.Close();
returnlist;
}
}
}
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Collections;
usingNHibernate;
usingNHibernate.Cfg;
usingSystem.Data;
namespaceDataHelper
{
publicclassSessionFactory
{
privatestaticISessionFactorysessions;
privatestaticConfigurationcfg;
staticreadonlyobjectpadlock=newobject();
publicstaticISessionOpenSession(stringAssemblyName)
{
if(sessions==null)
{
lock(padlock)
{
if(sessions==null)
{
BuildSessionFactory(AssemblyName);
}
}
}
returnsessions.OpenSession();
}
privatestaticvoidBuildSessionFactory(stringAssemblyName)
{
cfg=newConfiguration();
cfg.AddAssembly(AssemblyName);
sessions=cfg.BuildSessionFactory();
}
}
publicclassEntityControl
{
privatestaticEntityControlentity;
privatestring_AssemblyName;
staticreadonlyobjectpadlock=newobject();
publicstaticEntityControlCreateEntityControl(stringAssemblyName)
{
if(entity==null)
{
lock(padlock)
{
if(entity==null)
{
entity=newEntityControl();
entity._AssemblyName=AssemblyName;
}
}
}
returnentity;
}
publicvoidAddEntity(Objectentity)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Save(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicvoidUpdateEntity(Objectentity,Objectkey)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Update(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicvoidDeleteEntity(objectentity)
{
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
ITransactiontransaction=session.BeginTransaction();
try
{
session.Delete(entity);
transaction.Commit();
}
catch(Exceptionex)
{
transaction.Rollback();
throwex;
}
finally
{
session.Close();
}
}
publicIListGetEntities(stringstrHQL)
{
IListlist;
ISessionsession=SessionFactory.OpenSession(_AssemblyName);
list=session.Find(strHQL);
session.Close();
returnlist;
}
}
}
实体
usingSystem;
usingSystem.Collections;
namespaceDataEntity
{
#regionGuestMessage
///<summary>
///GuestMessageobjectforNHibernatemappedtable'GuestMessage'.
///</summary>
publicclassGuestMessage
{
#regionMemberVariables
protectedstring_id;
protectedstring_userID;
protectedstring_message;
protectedDateTime_createTime;
#endregion
#regionConstructors
publicGuestMessage(){}
publicGuestMessage(stringuserID,stringmessage,DateTimecreateTime)
{
this._userID=userID;
this._message=message;
this._createTime=createTime;
}
#endregion
#regionPublicProperties
publicstringId
{
get{return_id;}
set
{
if(value!=null&&value.Length>50)
thrownewArgumentOutOfRangeException("InvalidvalueforId",value,value.ToString());
_id=value;
}
}
publicstringUserID
{
get{return_userID;}
set
{
if(value!=null&&value.Length>50)
thrownewArgumentOutOfRangeException("InvalidvalueforUserID",value,value.ToString());
_userID=value;
}
}
publicstringMessage
{
get{return_message;}
set
{
if(value!=null&&value.Length>16)
thrownewArgumentOutOfRangeException("InvalidvalueforMessage",value,value.ToString());
_message=value;
}
}
publicDateTimeCreateTime
{
get{return_createTime;}
set{_createTime=value;}
}
#endregion
}
#endregion
}
usingSystem.Collections;
namespaceDataEntity
{
#regionGuestMessage
///<summary>
///GuestMessageobjectforNHibernatemappedtable'GuestMessage'.
///</summary>
publicclassGuestMessage
{
#regionMemberVariables
protectedstring_id;
protectedstring_userID;
protectedstring_message;
protectedDateTime_createTime;
#endregion
#regionConstructors
publicGuestMessage(){}
publicGuestMessage(stringuserID,stringmessage,DateTimecreateTime)
{
this._userID=userID;
this._message=message;
this._createTime=createTime;
}
#endregion
#regionPublicProperties
publicstringId
{
get{return_id;}
set
{
if(value!=null&&value.Length>50)
thrownewArgumentOutOfRangeException("InvalidvalueforId",value,value.ToString());
_id=value;
}
}
publicstringUserID
{
get{return_userID;}
set
{
if(value!=null&&value.Length>50)
thrownewArgumentOutOfRangeException("InvalidvalueforUserID",value,value.ToString());
_userID=value;
}
}
publicstringMessage
{
get{return_message;}
set
{
if(value!=null&&value.Length>16)
thrownewArgumentOutOfRangeException("InvalidvalueforMessage",value,value.ToString());
_message=value;
}
}
publicDateTimeCreateTime
{
get{return_createTime;}
set{_createTime=value;}
}
#endregion
}
#endregion
}
实体xml
<?xmlversion="1.0"encoding="utf-8"?>
<hibernate-mappingxmlns="urn:nhibernate-mapping-2.0">
<classname="DataEntity.GuestMessage,DataEntity"table="GuestMessage">
<idname="Id"type="String"unsaved-value="null">
<columnname="AutoID"length="50"sql-type="varchar"not-null="true"unique="true"index="PK_Message"/>
<generatorclass="identity"/>
</id>
<propertyname="UserID"type="String">
<columnname="UserID"length="50"sql-type="varchar"not-null="false"/>
</property>
<propertyname="Message"type="String">
<columnname="Message"length="16"sql-type="text"not-null="false"/>
</property>
<propertyname="CreateTime"type="DateTime">
<columnname="CreateTime"length="8"sql-type="datetime"not-null="false"/>
</property>
</class>
</hibernate-mapping>
<hibernate-mappingxmlns="urn:nhibernate-mapping-2.0">
<classname="DataEntity.GuestMessage,DataEntity"table="GuestMessage">
<idname="Id"type="String"unsaved-value="null">
<columnname="AutoID"length="50"sql-type="varchar"not-null="true"unique="true"index="PK_Message"/>
<generatorclass="identity"/>
</id>
<propertyname="UserID"type="String">
<columnname="UserID"length="50"sql-type="varchar"not-null="false"/>
</property>
<propertyname="Message"type="String">
<columnname="Message"length="16"sql-type="text"not-null="false"/>
</property>
<propertyname="CreateTime"type="DateTime">
<columnname="CreateTime"length="8"sql-type="datetime"not-null="false"/>
</property>
</class>
</hibernate-mapping>