Gridq In Asp.net WebアプリケーションにLinqDataSourceが添付されています。削除時にLinqDataSourceがSelectプロパティをサポートしない
私は選択を変更し、そのthis.LinqDataSource1.Where = "CompanyId == " + UserManager.CompanyId;
this.LinqDataSource1.Select= "Course";
のような性質は、私がCompanysCoursesという名前のテーブルと、そのフィルタ後の結果を選択して、同社のID
に基づいて特定のコースを選択していているのOnInitイベント内<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="DataClassesDataContext" OnInit="LinqDataSource1_Init"
EnableDelete="True"
EntityTypeName="Id" TableName="CompanysCourses"
OnDeleting="Course_Deleting" OnDeleted="Course_Deleted">
</asp:LinqDataSource>
これは私のグリッドビューです
<asp:GridView ID="grdVwCourses" runat="server"
AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False"
DataKeyNames="Id" DataSourceID="LinqDataSource1"
OnSelectedIndexChanged="grdVwCourses_SelectedIndexChanged"
CssClass="table table-responsive"
PageSize="10" GridLines="Horizontal"
meta:resourcekey="GridView1Resource1">
<EmptyDataTemplate>
<asp:Label runat="server" ID="NotFoundLabel" Text="" meta:resourcekey="NotFoundLabelResource1"></asp:Label>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="#" meta:resourcekey="HeaderId">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Id" Visible="false"/>
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" meta:resourcekey="BoundFieldResource1" />
<asp:BoundField DataField="EnglishName" HeaderText="EnglishName" SortExpression="EnglishName" meta:resourcekey="BoundFieldResource2" />
<asp:BoundField DataField="CreatedDate" HeaderText="CreatedDate" SortExpression="CreatedDate" meta:resourcekey="BoundFieldResource3" />
<asp:TemplateField meta:resourcekey="TemplateFieldResource1">
<ItemTemplate>
<asp:HyperLink ID="userLink" runat="server" NavigateUrl='<%# GetCategoriesLink(Eval("Id")) %>' Text="Categories" meta:resourcekey="userLinkResource1" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowSelectButton="True" ShowDeleteButton="True" meta:resourcekey="CommandFieldResource1" />
</Columns>
</asp:GridView>
I havグリッドビューでeは削除有効になっていますが、削除をクリックしたとき、私は削除、挿入または更新操作が有効になっている場合は、この例外
LinqDataSourceコントロール「LinqDataSource1は」Selectプロパティ をサポートしていませんました。
は、私はそのようなオーバーライドOn_Deletingイベントが、私はこの問題の理由は何だろ確認ダイアログ
protected void Course_Deleting(object sender, LinqDataSourceDeleteEventArgs e)
{
e.Cancel = true
this.panMessage.Visible = true;
int id = ((Course)e.OriginalObject).Id;
ViewState["DeleteObject"] = id;
}
を示さなければなりません。
編集 私の重複と呼ばれる質問には、私が求める答えはなく、詳細も異なります。
[LinqDataSourceコントロールが削除、挿入または更新操作が有効になっているSelectプロパティをサポートしていません]の可能な重複(http://stackoverflow.com/questions/1593559/linqdatasource-does-not-support-the -select-property-when-delete-insert-or-u) – sgmoore
私の編集を参照してください、ありがとう –