6
我試圖創建.NET 2.0 Gridview控件的子類並實現一個自定義更新,以便在單擊「編輯」時執行;但是,我收到以下神祕錯誤消息:「發生了意外錯誤。」我試圖訪問我們的數據庫日誌,看看它是否失敗,但直到我得到訪問,我無法調試的問題。下面是我的代碼片段:使用SqlDataSource實現.NET Gridview - 編輯異常
在Web部件的CreateChildControls方法:
sqlDataSource.UpdateCommand = "dbo.UpdateInvoiceData";
sqlDataSource.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure;
sqlDataSource.UpdateParameters.Add(new Parameter("month", DbType.Int32, "2"));
sqlDataSource.UpdateParameters.Add(new Parameter("year", DbType.Int32, "2010"));
this.Controls.Add(sqlDataSource);
EditGridView edv = new EditGridView(sqlDataSource);
this.Controls.Add(edv);
在EditGridView三夏:
的OnLoad:
this.AutoGenerateEditButton = true;
this.AutoGenerateColumns = true;
string[] keyNames = { "Name" };
this.DataKeyNames = keyNames;
this.EnableViewState = true;
this.DataSourceID = sqlDataSource.ID;
this.DataBind();
protected override void OnRowUpdating(GridViewUpdateEventArgs e)
{
try
{
sqlDataSource.UpdateParameters.Add(new Parameter("ExtraParamName", DbType.Int32, e.NewValues["ExtraParamName"].ToString()));
sqlDataSource.UpdateParameters.Add(new Parameter("Name", DbType.String, e.NewValues["Name"].ToString()));
sqlDataSource.UpdateParameters.Add(new Parameter("spUser", DbType.String, "test"));
}
catch (Exception ex)
{
this.Page.Response.Write("Error occurred while updating the record. " + ex.Message);
}
}
Nikkia,爲了弄清楚錯誤是什麼,你可以修改web.config,以便代替「意外錯誤」頁面獲得堆棧跟蹤。看到這裏:http://blog.thekid.me.uk/archive/2007/02/15/a-solution-to-quot-an-unexpected-error-has-occurred-quot-in-wss-v3.aspx – 2010-03-11 20:19:37
你能更詳細地描述整個問題嗎? – 2011-03-21 11:24:39