2013-03-28 16 views
6

मैं अपने सी # एएसपीनेट प्रोजेक्ट में बूटस्ट्रैप का उपयोग कर रहा हूं और मैं कोड के पीछे मोडल पॉपअप दिखाने के लिए दिखाना चाहता हूं।बूटस्ट्रैप मोडल पॉपअप सी # कोडबेहिंद

function LoginFail() { 
     $('#windowTitleDialog').modal('show'); 
    } 

और के रूप में

ScriptManager.RegisterClientScriptBlock(this, typeof(System.Web.UI.Page), "LoginFail", "LoginFail();", true); 

इस मॉडल प्रदर्शित नहीं करता है इस प्रकार मेरी बटन को क्लिक पर मैं जावास्क्रिप्ट बोल रहा हूँ:

मेरे पृष्ठ शीर्षक में

मैं एक जावास्क्रिप्ट समारोह के रूप में निम्नानुसार है पॉप अप। हालांकि, अगर मैं alert('login failed') जैसे कुछ का उपयोग करता हूं, तो यह ठीक काम करता है।

क्या कोई इस से मदद कर सकता है?

उत्तर

14

डिफ़ॉल्ट बूटस्ट्रैप द्वारा जावास्क्रिप्ट फ़ाइलें क्लोज़िंग बॉडी टैग

<script src="vendors/jquery-1.9.1.min.js"></script> 
    <script src="bootstrap/js/bootstrap.min.js"></script> 
    <script src="vendors/easypiechart/jquery.easy-pie-chart.js"></script> 
    <script src="assets/scripts.js"></script> 
</body> 

मैं सही शरीर टैग से पहले सिर अनुभाग में इन जावास्क्रिप्ट फ़ाइलें ले लिया और मैं मोडल पॉपअप कॉल करने के लिए एक छोटे से समारोह में लिखा था पहले शामिल किए गए हैं:

<script src="vendors/jquery-1.9.1.min.js"></script> 
<script src="bootstrap/js/bootstrap.min.js"></script> 
<script src="vendors/easypiechart/jquery.easy-pie-chart.js"></script> 
<script src="assets/scripts.js"></script> 

<script type="text/javascript"> 
function openModal() { 
    $('#myModal').modal('show'); 
} 
</script> 
</head> 
<body> 

तो मैं निम्नलिखित के साथ से कोड-पीछे मोडल पॉपअप कह सकते हैं:

protected void lbEdit_Click(object sender, EventArgs e) { 
    ScriptManager.RegisterStartupScript(this,this.GetType(),"Pop", "openModal();", true); 
} 
+0

मेरे लिए काम करता है धन्यवाद !!! – wubblyjuggly

0

मुझे लगता है, आप jQuery मोडल प्लगइन में से एक का उपयोग कर रहे हैं। उस स्थिति में, मुझे संदेह है कि प्लगइन कोड उस समय शुरू नहीं किया जाता है जब इसे कॉल किया जाता है (जो पेज में इसे प्रस्तुत करने के तुरंत बाद होगा)। प्लगइन कोड निष्पादित होने के बाद आपको फ़ंक्शन में कॉल स्थगित करना होगा। आपके मामले के लिए कार्यान्वयन इस प्रकार दिखाई देंगे:

ScriptManager.RegisterClientScriptBlock(this, typeof(System.Web.UI.Page), "LoginFail", "$(function() { LoginFail(); });", true); 
0

मैं एक ही समस्या है, ऑनलाइन समाधान खोजने की कोशिश की, लेकिन मैं ऐसा करने में असमर्थ था। जैसा कि आपने कोड के पीछे से कहा था, मैं अन्य जावास्क्रिप्ट funcionts को कॉल करने में सक्षम हूं, लेकिन जब मैं मोडल जेएस फ़ंक्शन जोड़ता हूं तो मोडल दिखाई नहीं देता है।

मेरा अनुमान है कि मोडल। ('शो') फ़ंक्शन कॉल नहीं किया जा रहा है क्योंकि जब मैं क्रॉम में कीपैक्ट करता हूं तो मॉडल तत्व क्लास मोडल छुपा फीका होता है और मोडल छुपा नहीं जाता है और अन्य विशेषताएं समान रहती हैं।

एक संभावित समाधान कोड के उन गुणों को बदलने के लिए एक संभावित समाधान है, मेरा मतलब है कि आप जेएस को कोड से पीछे क्या कर सकते हैं, संभवतः सबसे अच्छा समाधान नहीं है, लेकिन मुझे और क्या नहीं करना है। ऐसा करने से मुझे पृष्ठभूमि ग्रे के साथ दिखाने के लिए मोडल मिला लेकिन काम करने के लिए प्रभाव नहीं बना सका।

3

यह मैं कैसे हल है:

स्क्रिप्ट फ़ंक्शन

<script type="text/javascript"> 
    function LoginFail() { 
     $('#windowTitleDialog').modal(); 
    }   
</script> 

बटन घोषणा

<asp:Button ID="LaunchModal" runat="server" Text="Launch Modal" CssClass="btn" onclick="LaunchModal_Click"/> 

सूचना है कि विशेषता डेटा-togle = "मोडल" सेट नहीं है।

LaunchModal_Click घटना में सर्वर साइड कोड है:

ScriptManager.RegisterStartupScript(this, this.GetType(), "LaunchServerSide", "$(function() { LoginFail(); });", true); 

मैं इस मदद आप की उम्मीद है।

0

मैं aspx पेज में ऐसा करते हैं:

<asp:Panel ID="MessagePanel" runat="server" CssClass="hide" EnableViewState="false"> 
<div class="modal-header"> 
<asp:Button type="button" ID="btnClose" runat="server" data-dismiss="modal" Text="x" /> 
</div> 
<div class="modal-body"> 
<h4>What's new in this version</h4> 
... rest of bootstrap modal stuff.... 
</div> 
</asp:Panel> 

तो कोड-पीछे में इस तरह के Page.Load या एक बटन के रूप में किसी भी घटना पर मोडल पॉपअप को दिखाने के लिए मैं बस पैनल के CssClass बदलने पर क्लिक करें:

MessagePanel.CssClass = "modal fade in" 

जेएस या स्क्रिप्ट मैनेजर की कोई आवश्यकता नहीं है।

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