2013-02-18 32 views
11

एएसपी.नेट एमवीसी एप्लीकेशन के लिए, क्या कोई मुझे बता सकता है कि Html.BeginForm पर कॉल @using कथन के साथ क्यों शुरू होता है?एएसपी.नेट एमवीसी रेजर, एचटीएमएल.बिनफॉर्म, स्टेटमेंट

उदाहरण -

@using (Html.BeginForm()) {

//Stuff in the form 

}

मैंने सोचा था कि @using बयान नामस्थान सहित के लिए कर रहे हैं। धन्यवाद!

उत्तर

16

Using Statement एक सुविधाजनक वाक्यविन्यास प्रदान करता है जो IDisposable ऑब्जेक्ट्स का सही उपयोग सुनिश्चित करता है। चूंकि BeginForm सहायक IDisposable इंटरफ़ेस लागू करता है, तो आप इसके साथ using कीवर्ड का उपयोग कर सकते हैं। उस स्थिति में, विधि कथन के अंत में बंद </form> टैग प्रस्तुत करती है। तुम भी BeginFormusing बिना ब्लॉक का उपयोग कर सकते हैं, लेकिन फिर आप फार्म के अंत चिह्नित करने की आवश्यकता: जब आप Html.BeginForm साथ using का उपयोग

@{ Html.BeginForm(); } 
    //Stuff in the form 
@{ Html.EndForm(); } 
4

using एक कथन के रूप में IDISposable ऑब्जेक्ट के दायरे को परिभाषित करने के लिए उपयोग किया जाता है।

@using (var form = Html.BeginForm()) { 
    //Stuff in the form 

} // here Dispose on form is invoked. 

Html.BeginForm वापसी उद्देश्य यह है कि निपटाने के दौरान एक फार्म के लिए टैग को बंद प्रस्तुत करना: </form>

using नाम स्थान सहित के लिए निर्देश है।

1

, सहायक के लिए कॉल के दौरान टैग और उद्घाटन टैग को बंद करने का उत्सर्जन करता है BeginForm और IDisposable लागू करने वाली वस्तु को वापस करने के लिए कॉल भी।

जब निष्पादन दृश्य में कथन का उपयोग करके समापन (समापन घुंघराले ब्रेस) के अंत तक लौटता है, तो सहायक बंद फॉर्म टैग को उत्सर्जित करता है। using कोड सरल और सुरुचिपूर्ण है।

यह अनिवार्य नहीं है कि आपको usingHtml.BeginForm के साथ संयोजन में उपयोग करना चाहिए।

तुम भी उपयोग कर सकते हैं

@{ Html.BeginForm(); } 
    <input type="text" id="txtQuery"/> 
    <input type="submit" value="submit"/> 
@{ Html.EndForm(); }