У меня есть страницы ASP.NET WebForms, содержащий ASPxGridView
и ObjectDataSource
:GridView с ObjectDataSource UpdateMethod
<dx:ASPxGridView ID="gvEmployees" runat="server"
AutoGenerateColumns="False" DataSourceID="objDsEmployees"
KeyFieldName="EmployeeId">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0">
<EditButton Visible="True" />
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="EmployeeId" VisibleIndex="1" />
<dx:GridViewDataTextColumn FieldName="Name" VisibleIndex="2" />
<dx:GridViewDataTextColumn FieldName="Email" VisibleIndex="3" />
<dx:GridViewDataTextColumn FieldName="Telephone" VisibleIndex="5" />
</Columns>
</dx:ASPxGridView>
<asp:ObjectDataSource ID="objDsEmployees"
runat="server"
ConflictDetection="CompareAllValues"
DataObjectTypeName="MySite.Data.Models.Employee"
DeleteMethod="Delete"
OldValuesParameterFormatString="original{0}"
InsertMethod="Insert"
SelectMethod="GetAll"
TypeName="MySite.Services.EmployeeService"
UpdateMethod="Update" />
модель Сотрудник содержит следующие свойства:
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string Email { get;
public string Password { get; set; }
public string Telephone { get; set; }
}
ObjectDataSource
вызывает метод Update
в эксплуатационном слое:
public void Update(Employee employee, Employee originalEmployee)
{
_db.Employees.Attach(originalEmployee);
_db.Entry(originalEmployee).CurrentValues.SetValues(employee);
_db.SaveChanges();
}
Когда вызывается метод Update
, параметры employee
и originalEmployee
содержат только свойства, используемые в качестве столбцов в ASPxGridView
, а другие свойства (например, Password
) являются нулевыми.
Есть ли способ сохранить эти значения где-нибудь? Кстати, я использую Entity Framework для доступа к данным и DevExpress для GridView.