İç içeriği korurken span etiketlerini dinamik olarak silme

Formlar için etiket giriş blokları yapmak için özel bir denetim yapıyorum.

Aşağıdaki kod kendi başına çalışır:


<input id="custom_calendar" type="date" required="required" aria-labelledby="custom_calendar_label">

ancak her ne sebeple olursa olsun, özel kontrolün etrafına yayılan etiketler otomatik olarak oluşturulur (özel kontrolümdeki herhangi bir koddan değil).

bu yüzden kodum sanki




<input id="custom_calendar" type="date" required="required" aria-labelledby="custom_calendar_label">


How do I dynamically delete the span tags, but preserve the label input contents inside the span tags?

0
Lütfen başlıklarınızdan "asp.net c #" gibi içerikleri saklayın. Bu, ait olduğu etiketlerde.
katma yazar John Saunders, kaynak
Bir CompositeControl mü?
katma yazar Mantorok, kaynak

3 cevap

By default, it tries to render one parent control. So it's rendering a span as that parent tag. If your control inherits from web control, you can adjust the tagname to render a different control (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.tagname.aspx).

Or, since you don't want it, don't call base.Render() when you override the render method, and do:

protected virtual void OnRender(HtmlTextWriter writer)
{
    base.AddAttributesToRender(writer);

    //Render
    writer.RenderBeginTag("span");
    .
    .
}

I believe the wrapper element gets rendered with RenderBeginTag() and RenderEndTag(); you could try overriding those too and doing nothing.

Hangi temel sınıfı kullanıyorsunuz? Etiketden miras kalıyor musunuz?

1
katma

TagKey'i geçersiz kılmayı denediniz mi?

   protected override HtmlTextWriterTag TagKey
   {
      get { return HtmlTextWriterTag.Unknown; }
   }
0
katma

Etiket denetimi yerine Literal kontrolü kullanmaya çalışmalısınız.

Etiket denetimindeki metin, HTML iç etiketlerinde işlenir, ancak Literal denetimdeki metin düz metin olarak görüntülenir.

0
katma