Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2004, 04:49
kuai23
 
Fecha de Ingreso: febrero-2003
Mensajes: 56
Antigüedad: 21 años, 3 meses
Puntos: 0
Problema accediendo a un user control ASP.NET

Hola a todos, tengo un problema bastante curioso que no se solucionar.
A ver si alguien sabe algo...

Tengo un control de usuario llamado libreria.ascx:
------------------------------------------------------------------------
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="libreria.ascx.cs" Inherits="nk.libreria" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>

<script languaje="C#" runat="server">
public string Color="blue";
public string Text="veamos";
</script>

<p>
<font color="<%= Color %>">
<%= Text %>
</font>
</p>
-----------------------------------------------------------------------

Por otra parte tengo un Webform donde incluyo dicho control de usuario:

Se llama prueba.aspx.

<%@ Register TagPrefix="Acme" TagName="Message" Src="libreria.ascx" %>
<%@ Page language="c#" Codebehind="prueba.aspx.cs" AutoEventWireup="false" Inherits="nk.prueba" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>prueba</title>
<script language="C#" runat="server">
public void consulta(object sender, System.EventArgs e)
{
libreria2.Color="red";
}
</script>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="prueba" method="post" runat="server">
<Acme:Message id="libreria2" runat="server"></Acme:Message>
<Acme:Message id="Message1" Color="red" runat="server"></Acme:Message>
<asp:Button id="Button1" OnClick=consulta style="Z-INDEX: 101; LEFT: 97px; POSITION: absolute; TOP: 88px" runat="server" Text="Button" Width="151px" Height="23px"></asp:Button>
</form>
</body>
</HTML>

-----------------------------------------------

Bien, si os fijais al inicio de este webform tengo el siguiente codigo para acceder a las propiedad "Color" del control de usuario.

<script language="C#" runat="server">
public void consulta(object sender, System.EventArgs e)
{
libreria2.Color="red";
}
</script>

Esto me funciona perfectamente, el problema esta que yo no quiero poner el codigo de programacion en el mismo prueba.aspx, sino que quiero poner el codigo en el prueba.aspx.c. como es logico.

Pues bien, si pongo este codigo en el prueba.aspx.c me salta un error indicando que "libreria2" no existe. En concreto me pone:

" No se puede encontrar el tipo o el nombre "libreria2" falta directiva using o referencia de ensamblado".

Es decir, y para resumir solo puedo acceder mediante programacion a las propierdades del control poniendo codigo en el prueba.aspx, pero si lo pongo en el "code Behind", en el prueba.aspx.c me da ese error.