在asp.net2.0中使用ObjectDataSource+Formview可以很容易实现对对象的添加和修改。我们都知道在Asp。 net2。0中加入ObjectDataSource可以很方便来绑定业务逻辑层的代码,把UI层的数据通过Formview绑定传入到数据逻辑层中。
namespace
Model
{


public class Person
{


private string _name;
private int _identityNumber;

public string Name
{
get { return _name; }
set { _name = value; }
}

public int IdentityNumber
{
get { return _identityNumber; }
set { _identityNumber = value; }
}

}
}

namespace
BLL
{
public class PersonManager
{
public static void InsertPerson(Person person)
{ }

public static void UpdatePerson(Person person)
{ }

public static Person FindPerson(string IdentityNumber)
{ }
}
}
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
>
<
asp:FormView
ID
="FormView1"
DataSourceID
="objectDatasource1"
runat
="server"
>
<
InsertItemTemplate
>
<
table
cellpadding
="0"
cellspacing
="0"
>
<
tr
>
<
td
>
姓名:
</
td
>
<
td
><
asp:TextBox
ID
="NameTB"
Text
='<%#
Bind("Name") %
>
' runat="server">
</
asp:TextBox
></
td
>
</
tr
>
<
tr
>
<
td
>
身份证:
</
td
>
<
td
><
asp:TextBox
ID
="IdentityNumber"
Text
='<%#
Bind("IdentityNumber") %
>
' runat="server">
</
asp:TextBox
></
td
>
</
tr
>
</
table
>
</
InsertItemTemplate
>
<
EditItemTemplate
>
<
table
cellpadding
="0"
cellspacing
="0"
>
<
tr
>
<
td
>
姓名:
</
td
>
<
td
><
asp:TextBox
ID
="NameTB"
Text
='<%#
Bind("Name") %
>
' runat="server">
</
asp:TextBox
></
td
>
</
tr
>
<
tr
>
<
td
>
身份证:
</
td
>
<
td
><
asp:TextBox
ID
="IdentityNumber"
Text
='<%#
Bind("IdentityNumber") %
>
' runat="server">
</
asp:TextBox
></
td
>
</
tr
>
</
table
>
</
EditItemTemplate
>
</
asp:FormView
>
</
div
>
<
asp:objectdatasource
ID
="objectDatasource1"
TypeName
="Model.Person"
DataObjectTypeName
="BLL.PersonManager"
SelectMethod
="FindPerson"
InsertMethod
="InsertPerson"
UpdateMethod
="UpdatePerson"
runat
="server"
>
<
SelectParameters
>
<
asp:Parameter
Name
="IdentityNumber"
/>
</
SelectParameters
>
</
asp:objectdatasource
>
我们来看看ObjectDataSource中几个关键属性:
DataObjectTypeName:用于在模型层定义的对象。
TypeName:包括新增,修改方法的业务逻辑层的对象。
InsertMethod:新增方法的名称
UpdateMethod:修改方法的名称
看下面这个例子:在业务逻辑层定义了PersonManager对Person类进行新增和修改的方法










































Web界面




































这样就完成了后台业务逻辑层和UI层的绑定。
当新增和修改一个Person,只需要在后台调用Formview1.Insert(true)或者Formview1.Update(true)。即可完成
比2003少很多代码吧
当然如果你在BLL使用NHibernate,这样对一个表单的数据操作就非常方便。有时间再给一个具体的案例讲述NHibernate+Formview。