ASP.NET कस्टम नियंत्रण में प्रस्तुत स्वतः बंद होने वाले टैग नियंत्रण से ली गई

वोट
4

मैं एक Facebook FBML पर काम कर रहा हूँ पुस्तकालय को नियंत्रित करता है और बनाने के लिए मेरी FBML कुछ हद तक ASP.NET WebControls पुस्तकालय की तरह नमूनों नियंत्रण चाहते हैं। मैं एक आधार वर्ग कि डिफ़ॉल्ट रूप से प्रतिपादन संभालती है, यहाँ मेरी विधि प्रस्तुत करना है:


        protected override void Render(HtmlTextWriter writer)
        {
            AddAttributesToRender(writer);

            if (UseXfbmlSemantics)
            {
                writer.RenderBeginTag(ElementName);
                writer.EndRender();
                writer.RenderEndTag();
            }
            else
            {
                writer.RenderBeginTag(ElementName);
                writer.RenderEndTag();
            }
        }

क्या मैं चाहूँगा UseXfbmlSemantics के आधार पर के लिए प्रतिपादन संशोधित किया जा रहा है - अगर यह सच है, यह उदाहरण के लिए, प्रस्तुत करना चाहिए:

<fb:name uid=10300399458></fb:name>

जब यह बात गलत है, यह एक स्वतः बंद होने वाले टैग के साथ प्रस्तुत करना चाहिए:

<fb:name uid=10300399458 />

मैं लगभग सही ढंग से काम करने के लिए सही शर्त प्राप्त कर सकते हैं, लेकिन स्वतः बंद होने वाले टैग तरीकों में से Render- सेट के साथ असंगत हो रहा है। दुर्भाग्य से यदि ऐसा है यह भी मतलब है कि AddAttributesToRender पैटर्न कार्य नहीं करेगा, या तो। क्या यह वास्तव में उत्पादन कर रहा है यह है:


        <fb:name uid=10300399458>

        </fb:name>

HtmlTextWriter मैं कैसे प्राप्त कर सकते हैं (या जो HtmlTextWriter मैं का उपयोग करने की आवश्यकता है) यह एक स्वतः बंद होने वाले टैग प्रस्तुत करना बनाने के लिए? या, कम से कम, मैं इसे कैसे है कि अंतरिम अंतरिक्ष प्रदान नहीं (ताकि खोलने और बंद करने टैग तुरंत एक दूसरे के बगल में हैं) कर सकते हैं?

05/11/2008 को 23:32
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
6

यह के रूप में प्रस्तुत करना होगा - यह आप के लिए जा रहा मिलना चाहिए <fb:name uid="00101010101"/>। तुम भी RenderBeginTag, RenderContents, RenderEndTag रद्द कर सकते थे। तुम वहाँ क्या कर रहे हैं कुछ अन्य RenderControl में चल रही चीजें हैं जो आप की जरूरत हो सकता है पर निर्भर करता है। आप यह भी दिखाई दे सकता है एक ControlAdapter का उपयोग करते हुए, यह आप वी.एस. नियंत्रण एचटीएमएल लेखन नियंत्रण कार्यक्षमता का बेहतर जुदाई दे सकता है।

public  class FbName:System.Web.UI.WebControls.WebControl
{

    protected override string TagName
    {
        get
        {
            return "fb:name";
        }
    }

    public override void RenderControl(HtmlTextWriter writer)
    {  
        RenderBeginTag(writer);// render only the begin tag.
        //base.RenderContents(writer);
        //base.RenderEndTag(writer);
    }

    public override void RenderBeginTag(HtmlTextWriter writer)
    {
        writer.Write("<" + this.TagName);
        writer.WriteAttribute("uid", "00101010101");
        writer.Write("/>");

    }
}

-जेसन

06/11/2008 को 22:44
का स्रोत उपयोगकर्ता

वोट
3

मैं HtmlTextWriter स्थिरांक उपयोग करने के लिए सलाह देते हैं:

    protected override void Render(HtmlTextWriter writer)
    {
        AddAttributesToRender(writer);
        writer.Write(HtmlTextWriter.TagLeftChar); // '<'
        writer.Write(this.TagName);
        writer.Write(HtmlTextWriter.SpaceChar); // ' '
        writer.WriteAttribute("uid", "00101010101");
        writer.Write(HtmlTextWriter.SpaceChar); // ' '
        writer.Write(HtmlTextWriter.SelfClosingTagEnd); // "/>"
    }
29/08/2011 को 13:41
का स्रोत उपयोगकर्ता

वोट
7

चूंकि यह है शीर्ष तो सवाल यह है कि ऊपर आता है जब "HtmlTextWriter स्वयं बंद टैग" के लिए खोज, यह किसी को भी यहाँ आने को पता है कि यह कैसे करना चाहता है कि के लिए है:

writer.WriteBeginTag("tag");
writer.WriteAttribute("attribute", "attribute value");
// ... add other attributes here ...
writer.Write(HtmlTextWriter.SelfClosingTagEnd);
12/09/2014 को 18:22
का स्रोत उपयोगकर्ता

वोट
-1

यदि आप दृश्य स्टूडियो का उपयोग निम्न चरणों का से जाना:

उपकरण ---> विकल्प ---> पाठ संपादक ---> HTML ----> प्रारूपण ---> ऑटो बंद टैग डालने को दूर

26/02/2015 को 08:37
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more