AYUDA CON WEB CUSTOM CONTROLS

05/09/2003 - 16:53 por KMILO | Informe spam
Hola a todos espero que me puedan ayudar

Hice un control personalizado para punto net el cual quiero que desde una
propiedad del control lance un cuadro de dialogo para obtener la ruta del
archivo al cual deseo hacer referencia, para ello cree una forma tipo
windows en el proyecto web custom control y hago referencia a los atributos
que son necesarios para que el detecte que hay una forma de edicion y la
lance, bueno cual es el problema, la cosa es que NO sale la forma para
editar el path del archivo, me falta alguna referencia o algo asi???

PD. en un proyecto que vi hacian algo como una clase con propiedades de una
forma, sera eso lo que me falta? como se hace eso?

De antemano Muchas Gracias

Adjunto codigo:


using System;
using System.Web.UI;
using System.ComponentModel;
using Microsoft.ContentManagement.Publishing;
using Microsoft.ContentManagement.Publishing.Extensions.Placeholders;
using Microsoft.ContentManagement.WebControls.Design;
using Microsoft.ContentManagement.WebControls;
using System.Web.UI.WebControls;

namespace CoheteGetForm
{
public class GetXml : System.Drawing.Design.UITypeEditor
{
public string ShowForm()
{
CoheteForm.CoheteGetXml objForm;
objForm = new CoheteForm.CoheteGetXml();
objForm.ShowDialog();
return objForm.Path;
}
}
}
namespace CohetePlaceHolder
{
[
SupportedPlaceholderDefinitionType( typeof(HtmlPlaceholderDefinition ) ),
Designer(typeof(CoheteForm.CoheteGetXml)),
ParseChildren(false)
]
public class CohetePH : BasePlaceholderControl
{
#region Propierties
string strPath;
[
Browsable(true),
Editor(typeof(CoheteForm.CoheteGetXml),typeof(System.Drawing.Design.UITypeEd
itor)),
Description("Escriba aca la ruta donde se encuentra el XML para los
estilos"),
Category("Data"),
DefaultValue("")
]
public string Path
{
get
{
return this.strPath;
}
set
{
this.strPath = value;
}
}
#endregion
#region Constructor
public CohetePH()
{
Path = "";
}
#endregion
#region Overrides Methods
protected override void CreateAuthoringChildControls(BaseModeContainer
authoringContainer)
{
this.authoringOnlyAuthoringControl = new TextBox();
authoringContainer.Controls.Add( this.authoringOnlyAuthoringControl );
}
protected override void CreatePresentationChildControls(BaseModeContainer
presentationContainer) {}
protected override void
LoadPlaceholderContentForAuthoring(PlaceholderControlEventArgs e)
{
EnsureChildControls();
try
{
this.authoringOnlyAuthoringControl.Text = "<content>" +
((HtmlPlaceholder)this.BoundPlaceholder).Text.ToString() + "</content>";
}
catch (Exception) {}
}
protected override void
LoadPlaceholderContentForPresentation(PlaceholderControlEventArgs e) {}
protected override void
SavePlaceholderContent(PlaceholderControlSaveEventArgs e)
{
EnsureChildControls();
try
{
((HtmlPlaceholder)this.BoundPlaceholder).Html this.authoringOnlyAuthoringControl.Text;
}
catch (Exception exp)
{
string newExceptionMessage = String.Format( "[{0} \"{1}\"] Error saving
placeholder contents: {2}", this.GetType().Name, this.ID, exp.Message);
Exception overriddenException = new Exception(newExceptionMessage, exp);
throw overriddenException;
}
}
private TextBox authoringOnlyAuthoringControl;
#endregion
}
}

Preguntas similare

Leer las respuestas

#1 Diego Gonzalez
05/09/2003 - 18:31 | Informe spam
Si solo quieres abrir un archivo Xml puedes ahorrarte el tiempo de hacer un
UITypeEditor y usar el ya existente. Solo tienes que poner este atributo en
tu propiedad:

[EditorAttribute(typeof(System.Web.UI.Design.XmlFileEditor),
typeof(UITypeEditor))]

Suerte,
Diego González
Lagash Systems SA
"KMILO" wrote in message
news:
Mostrar la cita
atributos
Mostrar la cita
una
Mostrar la cita
Editor(typeof(CoheteForm.CoheteGetXml),typeof(System.Drawing.Design.UITypeEd
Mostrar la cita
#2 KMILO
08/09/2003 - 15:44 | Informe spam
Perfecto esa era la solucion, ahora tengo una pregunta adicional para vos si
no te molesta... necesito meter una imagen dentro del componente, esta
imagen debe ser embebida, como hago para hacer esto, ya adheri la imagen
tipo bmp, ahora como hago para codificarla dentro del componente para que
quede dentro de la dll final y mucho mas importante como hago para dibujarla
dentro del control y en caso del icono para que haga referencia a este, esto
sin tener ningun tipo de imagen por fuera del control.

De antemano muchas gracias..

"Diego Gonzalez" wrote in message
news:
Mostrar la cita
un
Mostrar la cita
en
Mostrar la cita
una
Mostrar la cita
del
Mostrar la cita
typeof(HtmlPlaceholderDefinition ) ),
Mostrar la cita
Editor(typeof(CoheteForm.CoheteGetXml),typeof(System.Drawing.Design.UITypeEd
Mostrar la cita
CreatePresentationChildControls(BaseModeContainer
Mostrar la cita
Ads by Google
Search Busqueda sugerida