Как я могу сделать любую страницу ASPX в качестве пользовательского элемента управления в asp.net? - PullRequest
1 голос
/ 19 августа 2011

У меня есть одна страница с именем myimage.aspx, которая создает случайное изображение капчи,

 <form id="form1" runat="server">
    <div>
    <%--<img src="MyImagePage.aspx">--%> //using normal page...this is working fine
   <ucImage:ucMyImage ID="myimage" runat="server" /> //using usercontrol this gives me image but following textboxes , buttons ans labels are disappears :(   
   <asp:TextBox id="CodeNumberTextBox" runat="server"></asp:TextBox>
   <asp:Button id="SubmitButton" runat="server" Text="Submit"></asp:Button><br>
   <asp:Label ID="lblMessage" runat="server" Text="CORRECT!" Visible="false"></asp:Label>
   </div>
   </form>

Я назвал эту страницу на моей странице index.aspx следующим образом <img src="MyImageControl.ascx">. Но вместо aspx-страницы я создал ее как usercontrol myimagecontrol.ascx и поместите его в index.aspx, как <ucImage:ucMyImage ID="myimage" runat="server" />, также добавьте тег <% @ Register%>, но я могу только просматривать изображение с картинки, а не любое другое содержимое страницы index.aspx, например, текстовое поле или другие кнопки скажите пожалуйста что не так ???

Ответы [ 3 ]

0 голосов
/ 19 августа 2011

со страницы ASPX

<%@ Register TagName="uc" TagPrefix="uc1"  Src="~/WebUserControl.ascx"%>
<uc1:uc ID="uc" runat="server" />
<asp:Label ID="lbl" runat="server">Loaded after UC</asp:Label>

Из моего UserControl

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<asp:Label ID="lbl" runat="server"></asp:Label>

У меня нет никаких проблем. Я не понимаю, почему ваши элементы управления не отображаются из-за пользовательского контроля. В вашем коде должно быть что-то, что мешает отображению ваших элементов управления

0 голосов
/ 19 августа 2011

Привет :) Я думаю, что может возникнуть проблема при рендеринге, здесь я публикую свой код, который работает

Для пользовательского контроля (ascx)

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>
<p>
    <img alt="" src=""  runat="server" id="image"/> </p>
<asp:Button ID="Button1" runat="server" Text="Button" /><asp:LinkButton ID="LinkButton1"
    runat="server">LinkButton</asp:LinkButton>

Для AspX (регистрация пользовательского элемента управления)

<%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>

Для использования тега изображения в Aspx

<uc1:WebUserControl1 ID="WebUserControl11" runat="server" />
0 голосов
/ 19 августа 2011

Просто откройте представление конструктора и перетащите элемент управления на страницу, где бы вы ни захотели ее назвать. Убедитесь, что она находится в режиме конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...