【问题标题】:ASP.NET, Gridview and Linqdatasource generates error on updateASP.NET、Gridview 和 Linqdatasource 在更新时生成错误
【发布时间】:2012-07-01 07:06:28
【问题描述】:

样本

<asp:GridView ID="data_basic_addresses" runat="server" AllowPaging="False" BorderWidth="0" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="AddressId" HorizontalAlign="Center" 
DataSourceID="LinqAddressDS" PageSize="20" CssClass="GridViewClass">
<Columns>
   <asp:BoundField DataField="AddressId" HeaderText="AddressId" SortExpression="AddressId" ReadOnly="True"/>
   <asp:BoundField DataField="Address" HeaderText="Street" SortExpression="Address"  />
   <asp:BoundField DataField="City" HeaderText="City" SortExpression="City"  />
   <asp:BoundField DataField="State" HeaderText="State" SortExpression="State"  />
   <asp:BoundField DataField="Zip" HeaderText="Zip" SortExpression="Zip"  />
   <asp:CommandField HeaderText="Options" ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>

<asp:LinqDataSource ID="LinqAddressDS" runat="server" OnContextCreating="LinqDS_ContextCreating" Where="AcctNo == @AcctNo"
ContextTypeName="MyProject.Models.DB_DataDataContext" EnableDelete="True" EnableInsert="True" 
EnableUpdate="True" TableName="Tbl_Addresses" OrderBy="AddressId">
    <WhereParameters>
        <asp:QueryStringParameter DefaultValue="1" Name="AcctNo" QueryStringField="AcctNo" Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>

我在 page_load 方法中设置 WhereParamater 值

每次在数据更改后按下更新链接时,我都会收到一条错误消息,指出“发生严重错误。调用目标已引发异常。”或“无法访问已处置的对象”

当网格视图重新加载时,数据会更新。我所做的一切似乎都没有改变。有没有人知道为什么?

提前致谢!

【问题讨论】:

  • 此代码由于某种原因没有发布 跨度>
  • 它没有显示,因为您需要缩进它。现在应该修好了。

标签: c# asp.net linq entity-framework-4


【解决方案1】:

找到解决问题的方法

我试图传递我自己的模型连接实例以用于LinqDS_ContextCreating 方法。这适用于除更新命令之外的所有功能。我进入并更新了model.designer.cs 文件中的模型默认连接字符串,现在更新工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2018-03-27
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多