2009-07-22 14 views
16

ASP.NET, सी #पीछे

सी # कोड में कंटेनर div के लिए एक div जोड़ने के बारे में शीर्षक से पता चलता है, तो किसी को भी कैसे प्रोग्राम के (फ़ाइल के पीछे सी # कोड) के लिए एक और एक कंटेनर के लिए एक div जोड़ने पता था कि मैं सोच रहा था div (एएसपीएक्स पेज में)।

अग्रिम

उत्तर

4

उपयोग एएसपी में धन्यवाद: पैनल है, जो एक div करने के लिए मैप करता है।

19
Panel myChildPanel = new Panel(); 
myContainerPanel.Controls.Add(myChildPanel); 
6

ओसीडेसिओ जैसे पैनल का उपयोग करने के अलावा, कई अन्य संभावनाएं हैं।

  • आप एक एएसपी का उपयोग कर सकते हैं: div अंदर शाब्दिक नियंत्रण और भरने कि pregenerated एचटीएमएल
  • के साथ एक runat = div ही है और एक HtmlGenericControl के रूप में यह उपयोग करने के लिए "सर्वर" जोड़ें, से यह करने के लिए अन्य नियंत्रण जोड़ने आपका कोडबींड।
  • का उपयोग <% = ...%>

यह नियंत्रण की जरूरत के स्तर पर एक छोटे से निर्भर करता है। फिर भी, एक अधिकांश परिस्थितियों में, एक पैनल है कि अदृश्य बाहर शुरू होता है सबसे अच्छा होगा:

<div>  
<asp:Panel Visible="false" id="MyPanel" runat="server"> 
</asp:Panel> 
</div> 

फिर जब आवश्यकता के अनुरूप अपने codebehind से दृश्यता बदलें।

एक मामले जहां आप अन्य विधियों में से एक का उपयोग करना चाहते हैं, वह तब होता है जब आप कुछ सीएसएस फ़ाइल के साथ फंस जाते हैं जो आईडी के आधार पर शैलियों को निर्दिष्ट करता है। उस स्थिति में, .NET नियंत्रणों का उपयोग करना वास्तव में एक विकल्प नहीं है। लेकिन वास्तव में, आपको अपने डिजाइनर को सिर पर स्मैक करना चाहिए और उसे इसके बजाय कक्षा के नामों का उपयोग करने के लिए कहना चाहिए।

25

// div का नया उदाहरण बनाएं और आईडी जैसे सभी मान सेट करें, संक्षिप्त कोड उदाहरण देखें। यह मेरे लिए काम किया बनाने के लिए एक वेब में divs जोड़ने

System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new 
    System.Web.UI.HtmlControls.HtmlGenericControl(); 
    NewDiv.ID = "divcreated"; 

या

protected void Page_Load(object sender, EventArgs e) 
{ 
    System.Web.UI.HtmlControls.HtmlGenericControl createDiv = 
    new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");  
    createDiv.ID = "createDiv"; 
    createDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Yellow"); 
    createDiv.Style.Add(HtmlTextWriterStyle.Color, "Red"); 
    createDiv.Style.Add(HtmlTextWriterStyle.Height, "100px"); 
    createDiv.Style.Add(HtmlTextWriterStyle.Width, "400px"); 
    createDiv.InnerHtml = " I'm a div, from code behind "; 
    this.Controls.Add(createDiv); 
} 
+0

मेरे लिए SharePoint के लिए काम किया: createDiv.Attributes.Add ("id", "createDiv"); –

+0

बहुत उपयोगी उत्तर धन्यवाद, बस, आप इसे किसी अन्य div में कैसे जोड़ते हैं? वह सवाल का हिस्सा है। – JCO9

0

यह एक बहुत पुरानी सवाल हो सकता है, लेकिन मैं मदद करने के लिए मेरे समाधान जोड़ना चाहते हैं:

पहले, "div" में आपके पास पहले से ही आपके पृष्ठ (जिसे आप एक और "div" जोड़ना चाहते हैं) को runat = "server" प्रॉपर्टी दें ताकि आप इसे कोड से एक्सेस कर सकें, यह इस तरह दिखेगा:

फिर अपने Page_Load में() विधि जोड़ने निम्नलिखित:

protected void Page_Load(object sender, EventArgs e) 
{ 
    //We create our new div 
    System.Web.UI.HtmlControls.HtmlGenericControl newDiv = 
    new System.Web.UI.HtmlControls.HtmlGenericControl("DIV"); 
    newDiv.ID = "newSuperDIV"; //<---Give and ID to the div, very important! 
    newDiv.Style.Value = "background-color:white; height:61%;"; //<---Add some style as example 
    newDiv.Attributes.Add("class", "amazingCssClass"); //<---Apply a css class if wanted 
    superDiv.Controls.Add(newDiv); //<---Add the new div to our already existing div 
} 

Genearte Page_Load समारोह के अंदर सीधे अपने div तो यह, सुनिश्चित होगा कि किसी भी पोस्टबैक के बाद से मौजूद है की तरह कोड ब्लॉक के अंदर यह पैदा करने से बचने के (! IsPostBack) {} अन्यथा यह आपके पृष्ठ में मौजूद नहीं होगा।

संबंधित मुद्दे