Click here to Skip to main content
15,891,431 members
Please Sign up or sign in to vote.
3.00/5 (1 vote)
See more:
my usercontrol is register in master page. there is a div in master page when i hover over that div my webmethod LoadCommunicationGrid() which supposed to bind the gridview control but it gives following a error.
Error executing child request for handler 'System.Web.UI.Page'.
UserControl(.ascx)

XML
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="TEAMEICCOMMUNICATION.ascx.vb" Inherits="RBSS.TEAMEICCOMMUNICATION" %>

    <asp:GridView ID="gridCommunicaiton" runat="server" AutoGenerateColumns="false" GridLines="None"
        AlternatingRowStyle-CssClass="odd" RowStyle-CssClass="even" Width="436px" Style="color: Black">
        <HeaderStyle CssClass="gridHeader" HorizontalAlign="Left" />
        <Columns>
            <asp:TemplateField HeaderText="Date" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                <ItemTemplate>
                    <asp:Label ID="lblDate" runat="server" Text='<%# Eval("EXFB_DATE") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Comments" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                <ItemTemplate>
                    <asp:Label ID="lblComments" runat="server" Text='<%# Eval("EXFB_COMMENT") %>'></asp:Label>
                    <%--<asp:LinkButton ID="ReadMoreLinkButton" runat="server" Text="More" CommandArgument='<%#Eval("EXFB_ID")%>'
                        OnCommand="ReadMoreLinkButton_Click"> </asp:LinkButton>--%>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>



.aspx.vb code

VB
<WebMethod()> _
    Public Shared Function LoadCommunicationGrid()
        Using page As New Page()
            Dim userControl As UserControl = DirectCast(page.LoadControl("~/UserControl/TEAMEICCOMMUNICATION.ascx"), UserControl)
            page.Controls.Add(userControl)
            Dim dtList As DataTable = clsCommon.ListRecommendation(clsAuth.GetEXTMID)

            TryCast(userControl.FindControl("gridCommunicaiton"), GridView).DataSource = dtList
            TryCast(userControl.FindControl("gridCommunicaiton"), GridView).DataBind()
            page.Controls.Add(userControl)
            Dim writer As New StringWriter()
            page.Controls.Add(userControl)
            HttpContext.Current.Server.Execute(page, writer, False)
            Return writer.ToString()

        End Using
    End Function


jQuery
JavaScript
function ShowGrid() {
    $.ajax({
    type: "POST",
    url: "demo.aspx/LoadCommunicationGrid",
    data: '{}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (r) {
        $("#showCommunicationGrid").show();
        $(".hoverCountMessage").hide();
        $(".Records").hide();
        $(".showCancel").show();       
    }
});
}

JavaScript
$(".hoverCountMessage").mouseenter(function () {
   ShowGrid();   
});
Posted
v2
Comments
Azee 8-Oct-13 6:18am    
Hey there, put a break point on LoadCommunicationGrid method and see which line throws the exception.

1 solution

Hi,

try this.

1. In order to solve this problem, generate a new “page” class that inherits System.Web.UI.Page and overrides VerifyRenderingInServerForm to do nothing:
VB
public class PageOverride : System.Web.UI.Page
{
   public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
  {
   }
}

2. When creating your Page holder, use the new page (PageOverride) instead of Page in your rendering:
VB
Page pageHolder = new ctlUserControl.PageOverride();
 
Share this answer
 
v2
Comments
tbaseflug 31-Oct-14 16:20pm    
I tried that but now get: Error executing child request for handler 'PageOverride'.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900