hi
I have a simple page with a gridview. the item template has an AjaxControlToolkit:confirmButtonExtender. All is good until I tried to enable custom paging in the gridview and object data source. the first page loads but when I click on the 2nd page I get an argumentNullException thrown. The Page argument is null. I can make paging work by removing the AjaxControlToolkit:confirmButtonExtender. Anybody got any ideas about this?
Value cannot be null. Parameter name: page
stack trace:
at Microsoft.Web.UI.ScriptManager.GetCurrent(Page page)
at AjaxControlToolkit.ExtenderControlBase.EnsureScripts() in d:\TFS\AtlasControlToolkit\Release\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 129
at AjaxControlToolkit.ExtenderControlBase.GetScriptReferences() in d:\TFS\AtlasControlToolkit\Release\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 515
at Microsoft.Web.UI.ExtenderControl.Microsoft.Web.UI.IExtenderControl.GetScriptReferences()
at Microsoft.Web.UI.ScriptControlManager.RegisterScriptsForExtenderControls()
at Microsoft.Web.UI.ScriptControlManager.RegisterScripts()
at Microsoft.Web.UI.ScriptManager.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Page:
<%@dotnet.itags.org.PageLanguage="C#"MasterPageFile="~/SheetDataEntry.master"AutoEventWireup="true"CodeFile="SheetList.aspx.cs"Inherits="SheetList"Title="Untitled Page" %>
<%@dotnet.itags.org.RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="ajaxToolkit" %>
<%@dotnet.itags.org.RegisterAssembly="Microsoft.Web.Preview"Namespace="Microsoft.Web.Preview.UI"TagPrefix="asp" %>
<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataSourceID="ObjectDataSource1"OnRowCommand="GridView1_RowCommand" AllowPaging="true"pagesize="2">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%# Eval("Uid", "SheetEdit.aspx?SheetUid={0}") %>'Target="_parent"Text='<%# Eval("SheetId", "Edit {0}") %>'></asp:HyperLink>
<asp:LinkButtonID="LinkButton1"runat="server"CommandArgument='<%# Eval("Uid", "{0}") %>'CommandName="DeleteSheet"OnClick="LinkButton1_Click">Delete
<ajaxToolkit:ConfirmButtonExtenderID="ConfirmButtonExtender1"runat="server"ConfirmText='Are you sure you want to delete?'TargetControlID="LinkButton1"
BehaviorID="ctl02_ConfirmButtonExtender1"Enabled="True">
</ajaxToolkit:ConfirmButtonExtender
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="SheetId"HeaderText="SheetId"SortExpression="SheetId"/>
</Columns>
</asp:GridView>
<asp:ObjectDataSourceID="ObjectDataSource1"runat="server"OldValuesParameterFormatString="original_{0}"
OnObjectCreating="ObjectDataSource1_ObjectCreating"SelectMethod="SelectAll"TypeName="Bst.Rincon.BL.SheetInformation.SheetListJunction"
EnablePaging="true"SelectCountMethod="SelectCount">
</asp:ObjectDataSource>
</asp:Content>
here's an explanation of the underlying problem:
Known Issue & Workaround: Extenders no longer work in templated controls:http://forums.asp.net/thread/1441672.aspx
for now i can continue without the ConfirmButtonExtender. And I can tell the boss that I didn't break it... Yipee!
Cheers,
Alan Grant
No comments:
Post a Comment