#asp.net #entity-framework
#asp.net #entity-framework
Вопрос:
У меня есть gridview, определенный на странице aspx, как определено ниже: я определил обработчик событий в codbehinb со следующей подписью:
protected void ApplicantGridView_RowUpdating(object sender, GridViewUpdatedEventArgs e)
{
e.NewValues["fk_WorkerID"] = workersDropDownList.SelectedValue;
}
Я могу успешно создать веб-проект, когда я открываю страницу в браузере, я получаю вышеуказанную ошибку.
<asp:GridView ID="ApplicantGridView" runat="server" AutoGenerateColumns="False"
DataSourceID="ApplicantsObjectDataSource" DataKeyNames="ApplicantID"
OnRowUpdating="ApplicantGridView_RowUpdating" >
<Columns>
<asp:CommandField ShowEditButton="true" ShowDeleteButton="true" ItemStyle-VerticalAlign="Top">
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:CommandField>
<asp:DynamicField DataField="CaseName" HeaderText="Case Name" SortExpression="CaseName"
ItemStyle-VerticalAlign="Top">
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:DynamicField>
<asp:DynamicField DataField="CaseNumber" HeaderText="Case Number" SortExpression="CaseNumber"
ItemStyle-VerticalAlign="Top">
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:DynamicField>
<asp:DynamicField DataField="ApplicationDate" HeaderText="Application Date" SortExpression="ApplicationDate"
ItemStyle-VerticalAlign="Top">
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:DynamicField>
<asp:TemplateField HeaderText="Worker" SortExpression="FS_Worker.WorkerName">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("FSWorker.WorkerName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:ObjectDataSource ID="FSWorkersObjectDataSource" runat="server"
TypeName="DSS_OTDA_FS.DAL.SCDSS_ApplicationRepository"
DataObjectTypeName="DSS_OTDA_FS.DAL.FSWorker"
SelectMethod="GetFSWorkerNames" >
</asp:ObjectDataSource>
<asp:DropDownList ID="FSWorkerDropDownList" runat="server"
DataSourceID="FSWorkerObjectDataSource"
SelectedValue='<%# Eval("WorkerName") %>'
DataTextField="WorkerName" DataValueField="WorkerID"
OnInit="FSWorkersDropDownList_Init" >
</asp:DropDownList>
</EditItemTemplate>
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ValidationSummary ID="ApplicantsValidationSummary" runat="server"
ShowSummary="true" DisplayMode="BulletList" style="color: Red; width: 40em;" />
Это gridview в форме aspx
Комментарии:
1. Пожалуйста, опубликуйте свой полный дизайн формы.
2. Извините, теперь я вижу вашу форму дизайна; позвольте мне обновить свой ответ.
Ответ №1:
Подпись вашего метода неверна, она должна гласить
protected void ApplicantGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
у вас есть GridViewUpdate * d* EventArgs
Ответ №2:
Это очень небольшая разница в типе аргументов события
При обновлении строк используется GridViewUpdateEventArgs
RowUpdated использует GridViewUpdatedEventArgs
Обратите внимание на лишнюю ‘d’