2011-12-20 6 views
7

मैं बनाम 2010 का उपयोग कर रहा हूं। मुझे उपयोगकर्ता को संदेश प्रदर्शित करने और पृष्ठ को रीडायरेक्ट करने की आवश्यकता है।किसी पृष्ठ को रीडायरेक्ट करने से पहले चेतावनी संदेश कैसे प्राप्त करें

मैं नीचे दी गई रेखा का उपयोग करता हूं।

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "<script> alert('User details saved sucessfully');window.open('frmDisplayUsers.aspx');</script>", true); 

लेकिन मुझे चेतावनी संदेश नहीं मिला और पृष्ठ सीधे रीडायरेक्ट किया गया था।

अलर्ट संदेश कैसे प्राप्त करें?

उत्तर

23

आपका कोड खिड़की खोल रहा है, लेकिन आप एक रीडायरेक्ट के लिए पूछ, नीचे एक रीडायरेक्ट का एक उदाहरण है।

<asp:Button OnClientClick=" alert('blah?');" runat="server" /> 

स्टार्टअपस्क्रिप्ट में डालने में समस्या यह है कि स्टार्टअपस्क्रिप्ट पोस्टबैक पर चलती है, वास्तविक समय नहीं। रीडायरेक्ट पोस्टबैक से पहले होगा। (संभवतः)

पाठ्यक्रम का दूसरा समाधान रीडायरेक्टस्क्रिप्ट कोड में रीडायरेक्ट रखना है।

पृष्ठ वापस पोस्ट करेगा, स्क्रिप्ट चलाएगी और फिर यह रीडायरेक्ट हो जाएगी।

1

आप लिखने की ज़रूरत:

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", " alert('User details saved sucessfully'); window.open('frmDisplayUsers.aspx');", true); 

कृपया ध्यान दें कि मैं स्क्रिप्ट टैग को हटा दिया है के रूप में पिछले पैरामीटर true मतलब है कि आप स्क्रिप्ट टैग का उपयोग नहीं करना चाहिए।

यह कोड मेरे लिए काम किया। अगर आपको कोई समस्या है तो मुझे बताएं। इसके अलावा आप विंडो को खोलने में देरी के लिए setTimeout का उपयोग कर सकते हैं जो कि बहुत खराब विकल्प नहीं हो सकता है।

ScriptManager.RegisterStartupScript(this, this.GetType(), 
"alert", 
"alert('User details saved sucessfully');window.location ='frmDisplayUsers.aspx';", 
true); 
0

सबसे अच्छा तरीका है, यदि संभव हो तो, OnClientClick में कोड डाल करने के लिए है:

1

आप .cs फ़ाइल में रखना चाहते हैं, तो बस इस प्रयास करें:

var page = HttpContext.Current.CurrentHandler as Page; 
      ScriptManager.RegisterStartupScript(page, page.GetType(), "alert", "alert('" + msg +"');window.location ='"+ aspx +"';", true); 
0

आप UpdatePanel के साथ कार्य करना है तो आप इस का उपयोग करने के लिए है: यह अद्यतन पैनल के साथ काम है।

var message = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("Bill No. : " + BillNo + " successfully generated."); 
      var script = string.Format("alert({0});window.location ='ChhallanPrint.aspx';", message); 
      ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", script, true); 
-1

आपका एक रीडायरेक्ट पेज माँगना, नीचे एक रीडायरेक्ट का एक उदाहरण है:

string page = "Login.aspx"; 
     string myStringVariable = "Password Update!"; 
     ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + myStringVariable + "');Response.Redirect('"+ page +"');", true); 
0

पेज लॉगइन पर अग्रेषित करने के बाद पासवर्ड अद्यतन चेतावनी संदेश

Dim MyScript As String = "alert('Password Updated Successfully!. Please Login Again!'); window.location = '../Login.aspx';" 

और यदि आपके मंशा है अपने पृष्ठ को शीर्ष स्तर पर फ्रेमबस्ट करने के लिए, क्योंकि आपका पृष्ठ एक फ्रेम के अंदर हो सकता है जो स्वयं फ्रेम के अंदर है।

Dim MyScript As String = "alert('Password Updated Successfully!. Please Login Again!');window.top.location='../Logout.aspx';" 
      ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "MyScript", MyScript, True) 
संबंधित मुद्दे

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