Asp.net ObjectDataSource更新方法Parrameter中没有Id
我有一个.NET3.5应用程序,它有一个简单的表单视图和一个对象数据源Asp.net ObjectDataSource更新方法Parrameter中没有Id,asp.net,objectdatasource,Asp.net,Objectdatasource,我有一个.NET3.5应用程序,它有一个简单的表单视图和一个对象数据源 <asp:ObjectDataSource ID="odsDevice" runat="server" SelectMethod="GetDeviceByDeviceNumber" EnableViewState="True" UpdateMethod="updateDevice" DataObjectTypeName="GPSO.Repository.Device" TypeName="GPSOnline.
<asp:ObjectDataSource ID="odsDevice" runat="server" SelectMethod="GetDeviceByDeviceNumber" EnableViewState="True"
UpdateMethod="updateDevice" DataObjectTypeName="GPSO.Repository.Device" TypeName="GPSOnline.ATOMWebService">
<SelectParameters>
<asp:SessionParameter DbType="Guid" Name="deviceid" SessionField="deviceid" />
</SelectParameters>
现在,业务对象包含了几个我对更新不感兴趣的字段,我只想更新设备号
但是,我的问题是,我作为参数获取到“public void updateDevice(device device)”方法中的设备对象没有被更新对象的ID。这使得不可能知道存储库中要更新的记录
有没有办法持久保存设备的ID,以便在更新时将其作为对象的一部分?不确定,但您必须使用
<asp:FormView ID="fvDevices" runat="server"
DataSourceID="odsDevice" DataKeyNames="deviceid" ..
[OperationContract]
[WebGet]
public void updateDevice(Device device)
{
DeviceRep.updateDevice(device);
}
[OperationContract]
[WebGet]
public Device GetDeviceByDeviceNumber(Guid deviceid)
{
return DeviceRep.GetDeviceByDeviceNumber(deviceid);}
<asp:FormView ID="fvDevices" runat="server"
DataSourceID="odsDevice" DataKeyNames="deviceid" ..