2009-08-28 15 views
5

मुझे फॉर्म (runat = "server") के साथ मास्टर पेज मिला है। हालांकि नेस्टेड पेज में, मेरे पास 2 रूप हैं। सबसे पहले पासवर्ड बदलने के लिए है और दूसरा उपयोगकर्ता डेटा जमा करने के लिए है ... दोनों अलग सबमिट बटन के साथ मौजूद होना चाहिए।मास्टर पेज और नेस्टेड फॉर्म

मैंने फ़ॉर्म टैग के साथ उचित फ़ील्ड संलग्न करने की कोशिश की, लेकिन मुझे एक त्रुटि मिली कि संलग्न रूपों की अनुमति नहीं है .... मैं अपना लक्ष्य कैसे प्राप्त कर सकता हूं?

धन्यवाद!

उत्तर

4

एएसपी.नेट केवल प्रति पृष्ठ एक ही फॉर्म का समर्थन करता है (यह डेस्कटॉप सत्रपूर्ण रूपों का अनुकरण करता है)। संभवतः आपको मास्टर पेज में फॉर्म छोड़ना और सामग्री पृष्ठ पर बटन के लिए 2 क्लिक हैंडलर रखना है। आपको अपने नियंत्रण और बटन के लिए सत्यापन कोड निर्दिष्ट करने की भी आवश्यकता हो सकती है ताकि यदि आपके पास कुछ वैधकर्ता हैं तो वे हस्तक्षेप नहीं करते हैं।

0

आपके पास एएसपीएक्स पृष्ठ में केवल एक < फॉर्म> टैग हो सकता है। जब आप मास्टर पेज का उपयोग कर रहे हैं, तो उसके पास पहले से < फॉर्म रनैट = "सर्वर"> टैग है। आप < फॉर्म> अपने नेस्टेड पृष्ठों में फिर से टैग का उपयोग नहीं कर सकते हैं। आप क्या कर सकते हैं इस सामग्री में नेस्टेड पेज पर अपनी सामग्री जोड़ें। < एएसपी: सामग्री आईडी = "सामग्री 1" ContentPlaceHolderID = "ContentPlaceHolder1" runat = "सर्वर"> </एएसपी: सामग्री>

0

आप एक webforms पृष्ठ पर एकाधिक प्रपत्र हो सकता है, लेकिन केवल 1 runat- हो सकता है "सर्वर 'विशेषता और runat =" सर्वर "प्रपत्र किसी भी नेस्टेड रूपों नहीं हो सकता है एक विकल्प है कि आप के लिए काम कर सकते हैं:।

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled</title> 
</head> 
<body> 
    <div id="header> 
     <h1>My Site</h1> 
     <form id="SearchForm" action="search.aspx" method="post"> 
      <!--your search form html inputs (on server controls)--> 
     </form> 
    </div> 

    <!-- the standard webforms form used for server controls etc--> 
    <form id="form1" runat="server"> 

      <asp:ContentPlaceHolder ID="SearchBody" runat="server"> 
      </asp:ContentPlaceHolder> 

    </form> 
</body> 
</html> 

तुम भी PostBackUrl techinique पर दे सकता है:

http://msdn.microsoft.com/en-us/library/ms178140.aspx

0

<body> टैग के बाद बस अपने मास्टर पेज की शुरुआत में <form runat="server"> जोड़ें और उसके अंदर अपना <asp:content></asp:content> डाल दें।

पूर्व। MyMasterPage.master पेज

<% master ... %> 
<html> 
<head> .... </head> 
<body> 
<form runat="server"> 
. 
. 
. 
<div> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 

</asp:Content> 
</div> 
. 
. 
. 
</form> 
</body> 
</html> 

नेस्टर पृष्ठ: MyPage.cs

<% page ... %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
    <asp:Button ID="testButton" runat="server" Text="Sample Button" Width="135px" /> 
</asp:Content> 

इस तरह आप अपनी समस्या को हल कर सकते हैं

1

आप पहले से ही मास्टर पेज में फार्म है, आप नहीं होगा नेस्टेड पेज में कोई भी फॉर्म जोड़ने में सक्षम, प्रति पृष्ठ केवल एक फॉर्म टैग हो सकता है,

नेस्टेड पेज में दो अलग-अलग रूपों को बनाने के बजाय, क्या आप अलग-अलग दो अलग-अलग div, तालिका इत्यादि नहीं बना सकते

नेस्टेड पेज

में आप किस बल को लेना चाहते हैं
संबंधित मुद्दे