Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 186
  • Last Modified:

Need help with User Control in ASP.NET using C#...

Hi,

I have a master page (MainPage.master) that uses a custom user control (MyUserControl.ascx). On load of MainPage.master, I get an error saying the "GoNext" method / function (from the OnClick event of the ImageButton) cannot be found.  How can I solve this?  Does this have anything to do with having to expose certain methods / properties?

Thank you very much in advance.
MyUserControl.ascx:
        <%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyUserControl.ascx.cs" Inherits="UserControls_MyUserControl" %>
 
        <table width="950px" border="0">
            <tr>
                <td rowspan="2" width="163px" align="left">
                    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
			 My content 1
		    </asp:Content>
                </td>
                <td width="547px" align="right" valign="bottom">
                    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
			 My content 2
		    </asp:Content>
                </td>
                <td width="30px">&nbsp;</td>
                <td width="210px" align="right" valign="middle">
                    <asp:Panel runat="server" ID="Panel1" DefaultButton="btnGo">
                        <asp:TextBox ID="txtProduct" runat="server"></asp:TextBox>
                        <asp:ImageButton runat="server" ID="btnGo" OnClick="GoNext" CommandArgument="S" ImageUrl="images/btn_go.gif" AlternateText="Go"></asp:ImageButton>
                    </asp:Panel>
                </td>
            </tr>
            <tr>
                <td width="547px">&nbsp;</td>
                <td width="30px">&nbsp;</td>
                <td width="210px" align="right" valign="top">
                    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
			 My content 3
		    </asp:Content>
                </td>
            </tr>
        </table>
 
Master Page (MainPage.master) that uses MyUserControl.ascx:
<%@ Master Language="C#" EnableViewState="true" AutoEventWireup="true" CodeFile="MainPage.master.cs" Inherits="MainPage" %>
<%@ Register src="UserControls/MyUserControl.ascx" tagname="ProductControl" tagprefix="user" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
	<user:ProductControl ID="UserControl1" runat="server" />
 
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">            
        </asp:ContentPlaceHolder>
 
        <asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server">            
        </asp:ContentPlaceHolder>
 
        <asp:ContentPlaceHolder id="ContentPlaceHolder3" runat="server">            
        </asp:ContentPlaceHolder>
 
</body>
</html>
 
MainPage.master.cs:
public partial class MainPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    protected void GoNext(object sender, EventArgs e)
    {
        ImageButton button = (ImageButton)sender;
        string arg = button.CommandArgument;
        switch (arg)
        {
            case "S":
                if (txtSearch.Text != "")
                {
                    Response.Redirect("~/VMSP_Search.aspx?search="+txtSearch.Text);
                }
                break;
            /**
            case "T":
                Response.Redirect("http://www.somewhere.com");
                break;
            **/
            default: break;
        }
    }
}

Open in new window

0
WebAppDeveloper
Asked:
WebAppDeveloper
1 Solution
 
Munawar HussainPrincipal Software EngineerCommented:
hi,

the method GoNext should be located in Usercontrol's cs (MyUserControl.ascx.cs) but seems you have put in Master page ' code file?

-thanks
0
 
WebAppDeveloperAuthor Commented:
needo_jee,

Yes, I've put it in the master page's code behind file. Ok, I'll try to move it to Usercontrol.cs, and see how it goes. It makes sense now.

Thanks.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now