Solved

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

Posted on 2009-05-15
2
177 Views
Last Modified: 2013-11-05
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
Comment
Question by:WebAppDeveloper
2 Comments
 
LVL 12

Accepted Solution

by:
needo_jee earned 500 total points
ID: 24399864
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
 

Author Comment

by:WebAppDeveloper
ID: 24399886
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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question