【问题标题】:Gridview delete button not workingGridview删除按钮不起作用
【发布时间】:2012-10-16 20:31:41
【问题描述】:

我正在尝试使我的网页能够使用网格视图从管理页面编辑数据库 (ImportantNews)。但是,当我单击删除时,它只会刷新页面并且不会删除任何内容。我正在使用 ASP.Net 2.0

网格视图

<asp:GridView ID="GridView2" runat="server" 
  AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:CommandField ShowDeleteButton="True" />
        <asp:BoundField DataField="Title" HeaderText="Title" 
                    SortExpression="Title" />
        <asp:BoundField DataField="Content" HeaderText="Content"
                    SortExpression="Content" />
    </Columns>
</asp:GridView>
<br/>
<b>SqlDataSource</b>
<asp:SqlDataSource ID="SqlDataSource1" 
    runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
    SelectCommand="SELECT * FROM [ImportantNews]" 
     DeleteCommand="DELETE FROM [ImportantNews] WHERE [Content] = @Content AND [Title] = @Title">
    <DeleteParameters>
        <asp:Parameter Name="Title" Type="string"/>
        <asp:Parameter Name="Content" Type="string"/>
    </DeleteParameters>
  </asp:SqlDataSource>

我按照人们的建议做了,但出现了这个错误
必须声明标量变量“@Content”。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:必须声明标量变量“@Content”。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SqlException (0x80131904): 必须声明标量变量“@Content”。] System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection)+1953274 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常, Boolean breakConnection) +4849707 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串方法名,布尔异步)+192 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果,字符串方法名,布尔型 sendToPipe)+317 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137 System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand命令,DataSourceOperation操作)+386 System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary 键,IDictionary oldValues)+303 System.Web.UI.DataSourceView.Delete(IDictionary 键,IDictionary oldValues,DataSourceViewOperationCallback 回调)+89 System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +714 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean CauseValidation, String validationGroup) +869 System.Web.UI.WebControls.GridView.RaisePostBackEvent(字符串事件参数)+207 System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

【问题讨论】:

    标签: gridview sqldatasource


    【解决方案1】:

    尝试添加 DataKeyNames="Content"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-06
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-09
      相关资源
      最近更新 更多