जारी किए जाने पर सर्वर फॉर्म की क्रिया = "" को पॉप्युलेट नहीं करता है, मेरे पास मास्टर पेज में सर्वर फॉर्म के साथ एक एएसपीनेट वेबफॉर्म साइट है, क्योंकि सभी पृष्ठों को इसकी आवश्यकता होती है।एएसपीनेट
action
पैरामीटर को डीबग करने पर id
के साथ रनटाइम पर पॉप्युलेट किया जाता है, लेकिन जब IIS7 के साथ मेरे सर्वर पर तैनात किया जाता है तो यह प्रकट नहीं होता है ... लेकिन अभी भी काम करता है। यह साइट के मुद्दों का कारण नहीं बना रहा है, लेकिन यह मेरी डब्ल्यू 3 सी एचटीएमएल 5 सत्यापन को विफल कर रहा है, क्योंकि इसे पॉप्युलेट करने की आवश्यकता है।
डीबग स्रोत:
<form method="post" action="index.aspx" id="aspnetForm">
लाइव स्रोत: masterpage में
<form method="post" action="" id="aspnetForm">
फार्म घोषणा:
<form runat="server">
.. some divs
</form>
मैं नहीं करता है आईडी/कार्रवाई परिभाषित आदि है प्रपत्र टैग पता है, क्योंकि एएसपी रनटाइम पर डिफॉल्ट को कॉन्फ़िगर करता है और यह ठीक है, हालांकि किसी कारण से यह मेरे सर्वर पर गड़बड़ हो जाता है। मैंने पथ नाम प्राप्त करने के लिए action="<% Path etc %>"
का उपयोग करने का प्रयास किया है, लेकिन यह काम नहीं करता है।
मैं क्या गलत कर रहा हूं? क्या मुझे कुछ याद आ रहा है, या क्या यह मास्टरपेज में किसी फॉर्म का उपयोग करने के लिए बस खराब अभ्यास है?
धन्यवाद।
अद्यतन
ठीक है, इस मुद्दे को हल करने के लिए इस सवाल का जवाब मैं सिर्फ masterpage Page_Load पर Form.Action सेट में बताया, अंत में मिल गया है जो W3C हरी बत्ती!
नोट: मैं intelligencia Rewriter का उपयोग कर रहा है, लेकिन आप यूआरएल Request.Url
public partial class myMasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
Form.Action = Intelligencia.UrlRewriter.RewriterHttpModule.RawUrl;
}
}
''
अज्ञात सर्वर टैग 'asp: Form'। – tutts
'पेज.फॉर्म.एक्शन = Request.Url.ToString(); 'Page_Load के अंदर, Intelligencia के बिना, मेरे लिए काम किया। – manafire