This is a migrated thread and some comments may be shown as answers.

[Solved] PageMethids is undefined

1 Answer 242 Views
Grid
This is a migrated thread and some comments may be shown as answers.
John Haines
Top achievements
Rank 1
John Haines asked on 10 Sep 2009, 02:46 PM

I am getting the pagemethods is undefined message in my pageLoad method. Can you suggest how to fix this error?

this is my webusercontrol for my grid with the pageload method

 

Thaks for your help - John

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MasterPartsList.ascx.cs" 
   Inherits="UserControls_MasterPartsList" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<telerik:RadSplitter ID="RadSplitter1" runat="server" Height="100%" Width="100%" 
   VisibleDuringInit="false">  
   <telerik:RadPane ID="Radpane2" runat="server">  
      <telerik:RadAjaxManagerProxy ID="RadAjaxManager1" runat="server">  
         <AjaxSettings> 
            <telerik:AjaxSetting AjaxControlID="RadGrid2">  
               <UpdatedControls> 
                  <telerik:AjaxUpdatedControl ControlID="RadGrid2" /> 
               </UpdatedControls> 
            </telerik:AjaxSetting> 
         </AjaxSettings> 
      </telerik:RadAjaxManagerProxy> 
      <telerik:RadScriptBlock ID="RadCodeBlock1" runat="server">  
 
         <script type="text/javascript">  
        <!--  
             function pageLoad(sender, eventArgs) {  
 
                 var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView();  
 
                 PageMethods.GetData(0,   
                                     tableView.get_pageSize(),  
                                     tableView.get_sortExpressions().toString(),   
                                     tableView.get_filterExpressions().toList(),  
                                     updateGrid);  
 
                 PageMethods.GetCount(tableView.get_filterExpressions().toList(), updateVirtualItemCount);  
             }  
 
             function RadGrid2_Command(sender, args) {  
                 args.set_cancel(true);  
 
                 var pageSize = sender.get_masterTableView().get_pageSize();  
 
                 var sortExpressions = sender.get_masterTableView().get_sortExpressions();  
                 var filterExpressions = sender.get_masterTableView().get_filterExpressions();  
 
                 var currentPageIndex = sender.get_masterTableView().get_currentPageIndex();  
 
                 if (args.get_commandName() == "Filter")  
                     currentPageIndex = 0;  
 
 
                 var sortExpressionssortExpressionsAsSQL = sortExpressions.toString();  
                 var filterExpressionsfilterExpressionsAsSQL = filterExpressions.toString();  
 
                 PageMethods.GetData(currentPageIndex * pageSize, pageSize, sortExpressionsAsSQL, filterExpressions.toList(), updateGrid);  
 
                 if (args.get_commandName() == "Filter") {  
                     PageMethods.GetCount(filterExpressions.toList(), updateVirtualItemCount);  
                 }  
             }  
 
             function updateGrid(result) {  
                 var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView();  
                 tableView.set_dataSource(result);  
                 tableView.dataBind();  
             }  
 
             function updateVirtualItemCount(result) {  
                 var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView();  
                 tableView.set_virtualItemCount(result);  
             }  
 
             function toggleAllowMultiColumnSorting(sender, e) {  
                 var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView();  
                 tableView.set_allowMultiColumnSorting(sender.checked);  
             }  
 
             function RadGrid2_RowDataBound(sender, args) {  
                 var radTextBoxPartNumber = args.get_item().findControl("PartNumber"); // find control  
                 radTextBoxPartNumber.set_value(args.get_dataItem()["PartNumber"]);  
 
                 // conditional formatting  
                 args.get_item().get_cell("TitleOfCourtesy").style.fontWeight = (args.get_dataItem()["TitleOfCourtesy"] == "Dr.") ? "bold" : "normal";  
 
                 var sb = new Sys.StringBuilder();  
 
                 sb.appendLine("<b>RadGrid2_RowDataBound</b><br />");  
 
                 for (var item in args.get_dataItem()) {  
                     sb.appendLine(String.format("{0} : {1}<br />", item, args.get_dataItem()[item]));  
                 }  
 
                 sb.appendLine("<br />");  
                 sb.appendLine("<br />");  
             }  
        --> 
         </script> 
 
      </telerik:RadScriptBlock> 
      <telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="False" AllowAutomaticInserts="True" 
         AllowAutomaticUpdates="True" AllowAutomaticDeletes="True" GridLines="None" PageSize="25" 
         AllowPaging="True" AllowSorting="True" OnNeedDataSource="RadGrid2_NeedDataSource" 
         OnDeleteCommand="RadGrid2_DeleteCommand" OnInsertCommand="RadGrid2_InsertCommand" 
         OnUpdateCommand="RadGrid2_UpdateCommand"   
         OnDataBound="RadGrid2_DataBound"   
         AllowFilteringByColumn="True">  
         <PagerStyle Mode="NextPrevAndNumeric" /> 
         <MasterTableView DataKeyNames="Id" CommandItemDisplay="TopAndBottom" EditMode="InPlace">  
            <Columns> 
               <telerik:GridBoundColumn DataField="Id" DataType="system.Int64" HeaderText="Id" ReadOnly="True" 
                  SortExpression="Id" UniqueName="Id" Visible="false">  
               </telerik:GridBoundColumn> 
               <telerik:GridTemplateColumn HeaderText="PartNumber" SortExpression="PartNumber" 
                  UniqueName="PartNumberColumn" EditFormColumnIndex="1">  
                  <ItemTemplate> 
                     <telerik:RadTextBox runat="server" ID="PartNumber" ></telerik:RadTextBox> 
                  </ItemTemplate> 
               </telerik:GridTemplateColumn> 
               <telerik:GridTemplateColumn HeaderText="Description" SortExpression="Description" 
                  UniqueName="Description" EditFormColumnIndex="2">  
                  <ItemTemplate> 
                     <telerik:RadTextBox runat="server" ID="Description" ></telerik:RadTextBox> 
                  </ItemTemplate> 
               </telerik:GridTemplateColumn> 
               <telerik:GridTemplateColumn HeaderText="PartType" SortExpression="PartType" UniqueName="PartType" 
                  EditFormColumnIndex="3">  
                  <ItemTemplate> 
                     <telerik:RadComboBox runat="server" ID="PartType">  
                     </telerik:RadComboBox> 
                  </ItemTemplate> 
               </telerik:GridTemplateColumn> 
               <telerik:GridTemplateColumn HeaderText="UOM" SortExpression="UnitOfMeasure" UniqueName="UnitOfMeasure" 
                  EditFormColumnIndex="4">  
                  <ItemTemplate> 
                     <asp:Label runat="server" ID="LblUnitOfMeasure" Text='<%# Eval("UnitOfMeasure") %>'>  
                     </asp:Label> 
                     &nbsp;  
                  </ItemTemplate> 
                  <EditItemTemplate>                   
                     <telerik:GridDropDownColumn DataField="UnitOfMeasure" HeaderText="UOM" ListTextField="Code" 
                        ListValueField="Description" UniqueName="UnitOfMeasure"   
                        DropDownControlType="RadComboBox" AllowSorting="true">  
                     </telerik:GridDropDownColumn> 
                  </EditItemTemplate> 
               </telerik:GridTemplateColumn> 
               <telerik:GridTemplateColumn HeaderText="Comm Code" SortExpression="CommodityCode" 
                  UniqueName="CommodityCode" EditFormColumnIndex="5">  
                  <ItemTemplate> 
                     <asp:Label runat="server" ID="LblCommodityCode" Text='<%# Eval("CommodityCode") %>'></asp:Label> 
                  </ItemTemplate> 
                  <EditItemTemplate> 
                     <telerik:GridDropDownColumn DataField="CommodityCode" HeaderText="UOM" ListTextField="Code" 
                        ListValueField="Description" UniqueName="CommodityCode">  
                     </telerik:GridDropDownColumn> 
                  </EditItemTemplate> 
               </telerik:GridTemplateColumn> 
               <telerik:GridEditCommandColumn ButtonType="ImageButton">  
                  <HeaderStyle Width="20px" /> 
                  <ItemStyle CssClass="MyImageButton" /> 
               </telerik:GridEditCommandColumn> 
               <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" Text="Delete" 
                  UniqueName="DeleteColumn" ConfirmText="Delete this Part?">  
                  <HeaderStyle Width="20px" /> 
                  <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> 
               </telerik:GridButtonColumn> 
            </Columns> 
            <EditFormSettings ColumnNumber="2" CaptionDataField="PartNumber" CaptionFormatString="Edit properties of Part {0}">  
               <FormTableItemStyle Wrap="False"></FormTableItemStyle> 
               <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> 
               <FormMainTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="3" BackColor="White" 
                  Width="100%" /> 
               <FormTableStyle CellSpacing="0" CellPadding="2" CssClass="module" Height="110px" 
                  BackColor="White" /> 
               <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> 
               <EditColumn ButtonType="ImageButton" InsertText="Insert Order" UpdateText="Update record" 
                  UniqueName="EditCommandColumn1" CancelText="Cancel edit">  
               </EditColumn> 
               <FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle> 
            </EditFormSettings> 
         </MasterTableView> 
      </telerik:RadGrid> 
   </telerik:RadPane> 
</telerik:RadSplitter> 
 


and this is the .aspx page which contains the webusercontrol

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Proposal.aspx.cs" Inherits="_Default" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<%@ Register TagPrefix="nwd" TagName="ProposalDetailsPage" Src="~/UserControls/ProposalDetails.ascx" %> 
<%@ Register TagPrefix="nwd" TagName="MasterPartsListPage" Src="~/UserControls/MasterPartsList.ascx" %> 
<%@ Register TagPrefix="nwd" TagName="StructurePage" Src="~/UserControls/Structure.ascx" %> 
<%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %> 
<%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %> 
<%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">  
<head runat="server">  
   <title>Harris Corporation | Proposal Material Management Application</title> 
   <link href="Styles/Styles.css" rel="stylesheet" type="text/css" /> 
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
   <qsf:HeadTag ID="Headtag1" runat="server"></qsf:HeadTag> 
   <style type="text/css">  
      .rcbHeader ul, .rcbFooter ul, .rcbItem ul, .rcbHovered ul, .rcbDisabled ul  
      {  
         width: 100%;  
         display: inline-block;  
         margin: 0;  
         padding: 0;  
         list-style-type: none;  
      }  
      .rcbHeader ul:after, .rcbFooter ul:after, .rcbItem ul:after, .rcbHovered ul:after, .rcbDisabled ul:after  
      {  
         content: ".";  
         display: block;  
         visibility: hidden;  
         font-size: 0;  
         line-height: 0;  
         height: 0;  
         clear: both;  
      }  
      .col1, .col2, .col3  
      {  
         float: left;  
         width: 120px;  
         margin: 0;  
         padding: 0 5px 0 0;  
         line-height: 14px;  
      }  
      label.text  
      {  
         font: 13px 'Segoe UI' , Arial, sans-serif;  
         color: #4888a2;  
         padding: 6px 18px 0 0;  
         display: inline-block;  
         clear: both;  
         width: 150px;  
      }  
      .combo-list  
      {  
         list-style: none;  
         padding: 0;  
         margin: 0;  
      }  
   </style> 
</head> 
<body> 
   <form id="form2" runat="server">  
      <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">  
         <Scripts> 
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> 
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> 
         </Scripts> 
      </asp:ScriptManager> 
      <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">  
      </telerik:RadAjaxManager> 
      <telerik:RadFormDecorator runat="server" ID="RadFormDecorator1" DecoratedControls="All" 
         DecorationZoneID="decorationZone" /> 
      <div class="wrapper">  
         <div class="header">  
            <h1> 
               Mammoth</h1> 
            <h2> 
               Material Costing Application</h2> 
            <br /> 
            <h3> 
               Proposal:  
               <asp:PlaceHolder ID="placeHolderProposalName" runat="server" /> 
            </h3> 
            <div class="chooser">  
               <label for="SkinChooser_Input">  
                  Choose skin:</label> 
               <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" Skin="Office2007" 
                  Enabled="true" PersistenceMode="Session">  
               </telerik:RadSkinManager> 
            </div> 
         </div> 
         <div class="tabstrip">  
            <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1" 
               SelectedIndex="0" ShowBaseLine="true">  
               <Tabs> 
                  <telerik:RadTab Text="Details">  
                  </telerik:RadTab> 
                  <telerik:RadTab Text="Master Parts List">  
                  </telerik:RadTab> 
                  <telerik:RadTab Text="Structure">  
                  </telerik:RadTab> 
               </Tabs> 
            </telerik:RadTabStrip> 
         </div> 
         <div id="decorationZone" class="splitter">  
            <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" CssClass="pageView">  
               <telerik:RadPageView ID="RadPageView1" runat="server">  
                  <nwd:ProposalDetailsPage ID="ProposalDetailsPage" runat="server" navigationlanguage="c#" /> 
               </telerik:RadPageView> 
               <telerik:RadPageView ID="RadPageView2" runat="server">  
                  <nwd:MasterPartsListPage ID="MasterPartsListPage" runat="server" navigationlanguage="c#" /> 
               </telerik:RadPageView> 
               <telerik:RadPageView ID="RadPageView3" runat="server">  
                  <nwd:StructurePage ID="StructurePage" runat="server" navigationlanguage="c#" /> 
               </telerik:RadPageView> 
            </telerik:RadMultiPage> 
         </div> 
         <div class="footer">  
            <br /> 
            <asp:HyperLink ID="returnToProposalIndex" runat="server" NavigateUrl="~/Default.aspx">Return to Proposal Index</asp:HyperLink> 
         </div> 
      </div> 
   </form> 
</body> 
</html> 
 

 

1 Answer, 1 is accepted

Sort by
0
Tsvetoslav
Telerik team
answered on 15 Sep 2009, 06:27 PM
Hello John,

PageMethods calls are not supported from an ascx code-behind - this is a draw back of the ASP.NET framework. More information and work-arounds you can find at the following forum discussion:
http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net-web-services/5849/Web-methods-in-user-controls

Regards,
Tsvetoslav
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
John Haines
Top achievements
Rank 1
Answers by
Tsvetoslav
Telerik team
Share this question
or