Frage

My web control doesn't appear in my web page in a different folder, However it works in another web page in the same location.

My source code is like this :

..

<%Register src="~/UI/Human/HumanUserControl.wuc" TagPrefix="uc1"
 TagName="HumanUserControl"/>

...

<uc1:HumanUserControl runat="Server" id="HumanUserControl"/>

...

Error: Request is not available in this context

War es hilfreich?

Lösung

The syntax on your Register tag is incorrect. And I'm not sure why you're using a ".wuc" extension instead of the default ".ascx".

You need matching <% %> tags, like so:

<%@ Register Src="~/UI/Human/HumanUserControl.wuc" TagPrefix="uc1" TagName="HumanUserControl" %>

If you delete the <%Register .../> and <uc1 .../> tags from your page completely, then in Visual Studio, drag-and-drop the user control from the Solution Explorer directly onto your page wherever you want the control to appear, it will automatically add the correct Register and user control tags for you.

If this doesn't clear things up, then provide more detailed error information, including the code where the exception is thrown.

The following works just fine:

~/UI/Human/HumanUserControl.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HumanUserControl.ascx.cs" Inherits="UserControlTest.UI.Human.HumanUserControl" %>

<asp:Label ID="lblTest" runat="server" />

~/UI/Human/HumanUserControl.ascx.cs

namespace UserControlTest.UI.Human
{
    public partial class HumanUserControl : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblTest.Text = Request.Browser.Browser;
        }
    }
}

~/Default.aspx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="UserControlTest._Default" %>
<%@ Register Src="~/UI/Human/HumanUserControl.ascx" TagPrefix="uc1" TagName="HumanUserControl" %>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
    <uc1:HumanUserControl runat="server" id="HumanUserControl" />
</asp:Content>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top