Ziehen in einem dynamischen Bild in einer Steuerung basierend auf einer URL mit C # und ASP.net

StackOverflow https://stackoverflow.com/questions/116869

  •  02-07-2019
  •  | 
  •  

Frage

Ich weiß, dass dies eine dumme Frage ist. Aus irgendeinem Grund ist meiner Meinung nach auf dieses Feld leer. Irgendwelche Ideen?

Es sollte mehr klar.

ein HtmlGenericControl Verwendung in Verbindung Beschreibung sowie Bild zu ziehen.

 private void InternalCreateChildControls()
    {
        if (this.DataItem != null && this.Relationships.Count > 0)
        {
            HtmlGenericControl fieldset = new HtmlGenericControl("fieldset");
            this.Controls.Add(fieldset);
            HtmlGenericControl legend = new HtmlGenericControl("legend");
            legend.InnerText = this.Caption;
            fieldset.Controls.Add(legend);

            HtmlGenericControl listControl = new HtmlGenericControl("ul");
            fieldset.Controls.Add(listControl);

            for (int i = 0; i < this.Relationships.Count; i++)
            {
                CatalogRelationshipsDataSet.CatalogRelationship relationship =
                    this.Relationships[i];

                HtmlGenericControl listItem = new HtmlGenericControl("li");
                listControl.Controls.Add(listItem);

                RelatedItemsContainer container = new RelatedItemsContainer(relationship);
                listItem.Controls.Add(container);

                Image Image = new Image();
                Image.ImageUrl = relationship.DisplayName;




                LinkButton link = new LinkButton();
                link.Text = relationship.DisplayName;



               ///ToDO Add Image or Image and description
                link.CommandName = "Redirect";
                container.Controls.Add(link);
            }
        }
    }

Nicht jemand fragt das nur einen Verweis oder eine Idee für mich zu tun.

Danke -overly frustriert und das Gefühl gedemütigt.

War es hilfreich?

Lösung

Ich nehme an, Sie ein Bild erzeugen wollen dynamicly auf der Basis einer URL.

Was ich in der Regel tut, ist ein schaffen einen sehr leichten Httphandler die Bilder zu dienen:

using System;
using System.Web;

namespace Example
{  
    public class GetImage : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            if (context.Request.QueryString("id") != null)
            {
                // Code that uses System.Drawing to construct the image
                // ...
                context.Response.ContentType = "image/pjpeg";
                context.Response.BinaryWrite(Image);
                context.Response.End();
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Sie können diese direkt in Ihrem img-Tag verweisen:

<img src="GetImage.ashx?id=111"/>

Oder könnten Sie sogar ein Server-Steuerelement erstellen, die es für Sie tut:

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Example.WebControl
{

    [ToolboxData("<{0}:DynamicImageCreator runat=server></{0}:DynamicImageCreator>")]
    public class DynamicImageCreator : Control
    {

        public int Id
        {
            get
            {
                if (ViewState["Id" + this.ID] == null)
                    return 0;
                else
                    return ViewState["Id"];
            }
            set
            {
                ViewState["Id" + this.ID] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
        {
            output.Write("<img src='getImage.ashx?id=" + this.Id + "'/>");
            base.RenderContents(output);
        }
    }
}

Dieses verwendet werden könnte, wie

<cc:DDynamicImageCreator id="db1" Id="123" runat="server/>

Andere Tipps

Überprüfen Sie den neuen dynamic Kontrolle freigegeben in CodePlex vom ASP.NET-Team.

Dies ist eine Art einer schrecklichen Frage. Ich meine, hat .NET ein Bild-Steuerelement, wo Sie die Quelle alles einstellen können Sie wollen. Ich bin mir nicht sicher, was Sie wollen, diskutiert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top