C# asp.net ObjectDataSource从代码隐藏更新
我有一个ASP.NET应用程序,在一个页面上有一个gridview,它使用ObjectDataSource调用另一个名为“Device”的类中的方法。这个类返回一个特殊的数据表。这是有效的 现在我需要一个更新数据的方法,为此我不能使用类设备,所以我想使用代码后面网格的“rowUpdate”方法。我甚至为这个方法编写了代码,它正在工作,如果用户单击网格中的“更新”按钮,这个方法就会启动 现在来谈谈问题。因为我正在使用ObjectDataSource,并且在该网格中有一个Update命令,所以我还需要为此ObjectDataSource指定和更新方法,这就是重点。 我希望使用代码隐藏中的RowUpdate方法,而不是ObjectDataSource中的update方法。我当前的解决方案是类“Device”中的一个方法,它只是通过一个“return”命令返回,因此来自我的代码隐藏的行更新正在做这项工作。。。但这不可能是“它工作的唯一方式” 如能提供帮助和更多提示,将不胜感激。C# asp.net ObjectDataSource从代码隐藏更新,c#,asp.net,objectdatasource,C#,Asp.net,Objectdatasource,我有一个ASP.NET应用程序,在一个页面上有一个gridview,它使用ObjectDataSource调用另一个名为“Device”的类中的方法。这个类返回一个特殊的数据表。这是有效的 现在我需要一个更新数据的方法,为此我不能使用类设备,所以我想使用代码后面网格的“rowUpdate”方法。我甚至为这个方法编写了代码,它正在工作,如果用户单击网格中的“更新”按钮,这个方法就会启动 现在来谈谈问题。因为我正在使用ObjectDataSource,并且在该网格中有一个Update命令,所以我还需
谢谢大家! 如果使用ObjectDataSource,则必须在一个类中编写更新和选择方法。也许您必须直接为该GridView编写一个类,以将更新和选择方法委托给其他对象 我认为这将对你有用:
[DataObject(true)]
public class SomeService
{
private Device d;
private YourUpdaterClass yuc;
public SomeService()
{
this.d = new Device();
this.yuc = new YourUpdaterClass();
}
[DataObjectMethod(DataObjectMethodType.Select, true)]
public List<YourType> Select()
{
return d.YourSelectMethod();
}
[DataObjectMethod(DataObjectMethodType.Update, true)]
public void Update(YourType yt)
{
yuc.YourUpdateMethod(yt);
}
}
[数据对象(真)]
公共类服务
{
专用设备d;
私人YourUpdaterClass yuc;
公共服务
{
this.d=新设备();
this.yuc=新的YourUpdaterClass();
}
[DataObjectMethod(DataObjectMethodType.Select,true)]
公共列表选择()
{
返回d.YourSelectMethod();
}
[DataObjectMethod(DataObjectMethodType.Update,true)]
公共作废更新(yt类型)
{
yuc.YourUpdateMethod(yt);
}
}
以及ObjectDataSource:
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
SelectMethod="Select"
TypeName="SomeService"
DataObjectTypeName="YourType"
UpdateMethod="Update">
</asp:ObjectDataSource>
Hm感谢您的回答,但无法使用网格的更新事件,对吗?使用您提供的解决方案,我可以解决我的问题,但这需要对我的体系结构进行一些更改