0
我創建了一個使用Telerik asp.net/ajax控件的gridview,當我在本地運行應用程序時,網格工作正常,但當推到我的服務器我得到同樣的錯誤我所有的方法:ASP.default_aspx'沒有包含'IssuesGrid_OnItemUpdated'的定義,也沒有擴展方法'IssuesGrid_OnItemUpdated'
ASP.default_aspx' does not contain a definition for 'IssuesGrid_OnItemUpdated' and no extension method 'IssuesGrid_OnItemUpdated' accepting a first argument of type 'ASP.default_aspx' could be found (are you missing a using directive or an assembly reference?)
我試圖刪除網格參考,並再次創造它,讓VS創建方法,然後它會工作,直到我做了所有的方法拋出錯誤,然後重新開始。
這裏是aspx頁面:
<telerik:RadGrid ID="Issues" runat="server" CellSpacing="0" DataSourceID="GridSource" GridLines="None" Skin="Metro"
AllowPaging="True" AllowSorting="True" AllowFilteringByColumn="True" OnItemDataBound="Issues_OnItemDataBound"
PageSize="30" EnableLinqExpressions="false" EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true"
AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
OnItemUpdated="Issues_OnItemUpdated" OnItemInserted="Issues_OnItemInserted" OnItemDeleted="Issues_OnItemDeleted"
OnItemCommand="Issues_OnItemCommand"
AutoGenerateColumns="False" ShowStatusBar="True" HorizontalAlign="Center" Height="900px">
這裏是我在我的CS文件的方法:
protected void Issues_OnItemUpdated(object sender, GridUpdatedEventArgs e)
{
if (e.Exception != null)
{
e.KeepInEditMode = true;
e.ExceptionHandled = true;
DisplayMessage(true, "Defect " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"] + " cannot be updated. Reason: " + e.Exception.Message);
}
else
{
DisplayMessage(false, "Defect " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"] + " updated");
}
}
protected void Issues_OnItemInserted(object source, GridInsertedEventArgs e)
{
if (e.Exception != null)
{
e.ExceptionHandled = true;
e.KeepInInsertMode = true;
DisplayMessage(true, "Defect cannot be inserted. Reason: " + e.Exception.Message);
}
else
{
DisplayMessage(false, "Defect inserted!");
}
}
protected void Issues_OnItemDeleted(object source, GridDeletedEventArgs e)
{
if (e.Exception != null)
{
e.ExceptionHandled = true;
DisplayMessage(true, "Defect " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"] + " cannot be deleted. Reason: " + e.Exception.Message);
}
else
{
DisplayMessage(false, "Defect " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"] + " deleted");
}
}
protected void Issues_OnItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.InitInsertCommandName) //"Add new" button clicked
{
var editColumn = (GridEditCommandColumn)Issues.MasterTableView.GetColumn("EditCommandColumn");
editColumn.Visible = false;
}
else if (e.CommandName == RadGrid.RebindGridCommandName && e.Item.OwnerTableView.IsItemInserted)
{
e.Canceled = true;
}
else
{
var editColumn = (GridEditCommandColumn)Issues.MasterTableView.GetColumn("EditCommandColumn");
if (!editColumn.Visible)
editColumn.Visible = true;
}
}
有什麼奇怪的是我有一個ondatabound方法,這只是罰款和之前的任何工作這些問題開始並繼續發揮作用。我嘗試將'對象發件人'更改爲'對象源',但仍然不行。
這裏是OnDataBound事件:
protected void Issues_OnItemDataBound(object source, GridItemEventArgs e)
{
var gridDataItem = e.Item as GridDataItem;
if (gridDataItem != null)
{
var item = gridDataItem;
//Tooltips
if (!item.IsInEditMode)
{
var cell = item["Description"];
if (cell.Text.Length > 40)
{
var originaltext = cell.Text;
cell.Text = cell.Text.Remove(40) + "...";
cell.ToolTip = originaltext;
}
}
}
}
什麼我做錯了任何幫助將是巨大的!
您是否嘗試刪除asp.net臨時文件文件夾?它可能被緩存在那裏。 –
當你部署時,你可以驗證dll被複制過嗎? – MikeSmithDev
我會嘗試這個dll,這是我還沒有嘗試過的一件事。 – CSharpDev4Evr