खोज…


परिचय

उपयोगकर्ता नियंत्रण ऐसे कंटेनर हैं जिन्हें HTML मार्कअप और सर्वर नियंत्रण के साथ कोड-पीछे ASPX पेज की तरह से पॉपुलेट किया जा सकता है। वे एक पेज के पुन: प्रयोज्य छोटी इकाइयों के रूप में इलाज कर रहे हैं, ताकि वे के रूप में स्टैंड-अलोन पृष्ठों नहीं चल सकता और उन में एचटीएमएल, शरीर या रूप HTML तत्वों नहीं होने चाहिए।

उपयोगकर्ता नियंत्रण का परिचय

मास्टर पेज के समान ASP.NET पृष्ठों पर पुन: प्रयोज्य के लिए उपयोगकर्ता नियंत्रण बनाए जाते हैं। बेस पेज लेआउट साझा करने के बजाय, उपयोगकर्ता नियंत्रण HTML / ASP.NET के अंतर्निहित सर्वर नियंत्रण या एक विशिष्ट फॉर्म लेआउट, जैसे टिप्पणी प्रस्तुत या अतिथि नोटों का साझा समूह है।

उपयोगकर्ता नियंत्रण में क्लाइंट नियंत्रण स्क्रिप्ट सहित HTML नियंत्रण और ASP.NET सर्वर नियंत्रण दोनों शामिल हो सकते हैं।

उपयोगकर्ता नियंत्रण में आमतौर पर इसकी परिभाषा के शीर्ष पर Control निर्देश शामिल होता है:

<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>

ASPX पृष्ठ की तरह, उपयोगकर्ता नियंत्रण में ऐसे मार्कअप होते हैं, जो कुछ घटनाओं और कार्यों को करने के लिए फ़ाइल के पीछे एक कोड से संबद्ध हो सकते हैं, इसलिए ASPX पृष्ठ पर उपलब्ध सभी HTML टैग को <html> , <body> और <form> को छोड़कर उपयोगकर्ता नियंत्रणों में उपयोग किया जा सकता है <form> टैग।

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

<%-- UserControl.ascx --%>
<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>
<div>
    <asp:Label ID="Label1" runat="server" />
    <br />
    <asp:Button ID="Button1" runat="server" Text="Click Here" OnClick="Button1_Click" />
</div>

कोड-पीछे का उदाहरण:

// UserControl.ascx.cs
public partial class UserControl : System.Web.UI.UserControl
{
    protected void Button1_Click(Object sender, EventArgs e)
    {
        Label1.Text = "Hello World!";
    }
}

ASPX पेज में डाले गए उपयोगकर्ता नियंत्रण से पहले, Register निर्देश पृष्ठ के शीर्ष पर घोषित किया जाना चाहिए, जिसमें उपयोगकर्ता नियंत्रण को इसके स्रोत URL, टैग नाम और टैग उपसर्ग के साथ संदर्भित किया जाता है।

<%@ Register Src="UserControl.ascx" TagName="UserControl" TagPrefix="uc" %>

बाद में, आप ASPX पेज जैसे ASP.NET अंतर्निहित सर्वर नियंत्रण में उपयोगकर्ता नियंत्रण रख सकते हैं:

<uc:UserControl ID="UserControl1" runat="server" />

प्रोग्रामेटिक रूप से यूजर कंट्रोल इंस्टेंस बनाना

यदि आप पृष्ठ के पीछे ASPX कोड के अंदर उपयोगकर्ता नियंत्रण के एक उदाहरण को इंस्टेंट करना चाहते हैं, तो आपको निम्न के रूप में Page_Load घटना पर उपयोगकर्ता नियंत्रण घोषणा लिखने की आवश्यकता है:

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(Object sender, EventArgs e)
    {
        Control control1 = LoadControl("UserControl.ascx");
        Page.Controls.Add(control1);
    }
}

ध्यान दें कि लोडकंट्रोल विधि को निष्पादित करते समय उपयोगकर्ता नियंत्रण एएससीएक्स फ़ाइल पहले से ही बनाई जानी चाहिए।

एक अन्य तरीका घोषित उपयोगकर्ता नियंत्रण प्रोग्राम के उपयोग कर रहा है के लिए जाना जाता PlaceHolder :

public partial class Default : System.Web.UI.Page
{
    public PlaceHolder Placeholder1;
    protected void Page_Load(Object sender, EventArgs e)
    {
        Control control1 = LoadControl("UserControl.ascx");
        Placeholder1.Controls.Add(control1);
    }
}

आपकी आवश्यकता के आधार पर, PlaceHolder उपयोगकर्ता के कन्ट्रोलर को कन्टेनर पर नियंत्रित करता है जो सभी सर्वर नियंत्रणों को गतिशील रूप से पृष्ठ में जोड़ देता है, जहाँ Page.Controls सीधे पृष्ठ के अंदर उपयोगकर्ता नियंत्रण सम्मिलित करता है जो HTML शाब्दिक नियंत्रणों को रेंडर करने के लिए अधिक पसंदीदा है।

उपयोगकर्ता नियंत्रण के लिए कस्टम गुण जोड़ना

मानक ASP.NET अंतर्निहित सर्वर नियंत्रणों की तरह, उपयोगकर्ता नियंत्रण में इसके परिभाषा टैग पर गुण (विशेषताएँ) हो सकते हैं। मान लें कि आप इस तरह UserControl.ascx फ़ाइल पर रंग प्रभाव जोड़ना चाहते हैं:

<uc:UserControl ID="UserControl1" runat="server" Color="blue" />

इस बिंदु पर, उपयोगकर्ता नियंत्रण के पीछे गुणों को घोषित करके उपयोगकर्ता नियंत्रण के लिए कस्टम विशेषताएँ / गुण सेट किए जा सकते हैं:

private String _color;
public String Color
{
    get
    {
        return _color;
    }
    set
    {
        _color = value;
    }
}

इसके अतिरिक्त, यदि आप उपयोगकर्ता नियंत्रण संपत्ति पर डिफ़ॉल्ट मान सेट करना चाहते हैं, तो उपयोगकर्ता नियंत्रण की निर्माण विधि के अंदर डिफ़ॉल्ट मान असाइन करें।

public UserControl()
{
    _color = "red";
}

फिर, उपयोगकर्ता नियंत्रण मार्कअप को रंग विशेषता को निम्न उदाहरण के रूप में जोड़ने के लिए संशोधित किया जाना चाहिए:

<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>
<div>
    <span style="color:<%= Color %>"><asp:Label ID="Label1" runat="server" /></span>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Click Here" OnClick="Button1_Click" />
</div>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow