jquery - Render Partial View in Bootstrap Popover Content -


मेरे एमवीसी दृश्य में मेरे पास निम्न है:

  & lt; a href = "# "Tabindex =" 0 "डेटा-टॉगल =" पॉपओवर "डेटा ट्रिगर =" होवर "डेटा-कंटेनर =" बॉडी "डेटा-html =" true "डेटा-सामग्री =" @ एचटीएमएल.एक्शन ("पॉपवर", "क्लाइंट ")" & Gt; साइमन जोन्स & lt; / a & gt;  Popover   ग्राहक  नियंत्रक में कार्रवाई  

यह काम करता है, जैसा कि मैं चाहता हूं, आंशिक दृश्य को लोड कर रहा है। हालांकि, मैं यह चाहूंगा कि, कम से कम प्रयास के साथ, जहां भी ग्राहक का नाम आवेदन में दिखाई देता है, यह पॉपवर स्वचालित रूप से पर्याप्त रूप से जोड़ा जाता है। कुछ ऐसा:

  & lt; a href = "#" class = "क्लाइंट पोपओवर" & gt; साइमन जोन्स & lt; / a & gt;  

एक अलग फ़ाइल में जावास्क्रिप्ट के साथ, प्रत्येक पृष्ठ से जुड़े, जैसे:

  $ ("। ClientPopover")। Popover ({html: true , कंटेनर: 'बॉडी', ट्रिगर: 'हॉवर', कंटेंट: '@ एचटीएमएल.एक्शन ("पॉपओवर", "क्लाइंट")'})  

मुझे पता है कि मैं नहीं कर सकता जावास्क्रिप्ट में एचटीएमएल हेल्पर का इस्तेमाल करते हुए मैंने इसे यहां लिखा है, लेकिन मैंने इसे पूरा करने के लिए कई तरह के तरीकों की कोशिश की है।

महत्वपूर्ण आवश्यकता यह है कि मैं बहुत आसानी से यह निर्दिष्ट कर सकता हूं कि एक तत्व एक पॉपोफर संलग्न होना चाहिए जो इसकी सामग्री में एक आंशिक दृश्य प्रदान करता है। मैं आवेदन के विभिन्न मदों के साथ एक ही बात को हासिल करना चाहूंगा, न सिर्फ ग्राहकों, बल्कि इसलिए कि मैं किसके लिए लक्ष्य कर रहा हूं, डेटा के प्रत्येक आइटम के लिए पॉपओवर के आंशिक विचारों के स्थान को स्टोर करने के लिए एक स्थान है (जैसे क्लाइंट , स्टाफ, बिल्डिंग इत्यादि)।

संपादित करें: मैंने यह सवाल आसानी से समझने के लिए अपनी आवश्यकताओं को सरल किया, लेकिन अब मुझे पता है कि इसके उत्तर में उत्तरदायित्व है मेरी सरल समस्या के लिए, लेकिन मेरी वास्तविक समस्या नहीं है यह सुझाव दिया गया है कि मैं पॉपवर सामग्री को पृष्ठ पर छिपे हुए तत्व में लोड कर सकता हूं और फिर इसे पॉपवर में आवश्यकतानुसार प्रदर्शित कर सकता हूं। हालांकि, प्रैक्टिस में मेरे पेज में एक ही समय (जैसे एक तालिका में) प्रदर्शित होने वाले कई सारे ग्राहक के नाम हो सकते हैं, और प्रत्येक नाम पर होवर कर सकते हैं, जो पॉपवर में ग्राहक के विवरण प्रदर्शित करेगा। मैं पॉपक को लोकप्रिय करने से पहले हर बार अपने छिपे हुए तत्वों की सामग्री को अपडेट करने के लिए अजाक्स का उपयोग कर सकता हूं, लेकिन मुझे संदेह है कि यह बहुत निष्पादक होने जा रहा है, और जटिल महसूस करता है।

मैं मूल रूप से उम्मीद कर रहा था कि एक बार मैं 'डी ने पता लगाया कि एक क्लाइंट के लिए पॉपोवर सामग्री को लोड करने के लिए एक्शन को कैसे कॉल किया जाए, मैं क्लाइंट के आईडी को पास करने का समाधान भी बढ़ा सकता हूं, ताकि पॉपोअर का डाटा गतिशील रूप से लोड हो गया। मैंने सचमुच सोचा कि यह ऐसा लगता है जितना आसान होगा!

आप ग्राहक के नाम को अपने साथ लपेट कर सकते हैं सर्वर साइड पर या क्लाइंट साइड पर लिंक।

क्लाइंट साइड पर मैं इसे ऐसा करूँगा:

  / * मान लें कि आपकी सामग्री वाला एक मुख्य कंटेनर है वर्ग .content * / var html = $ ('। Content')। Html (); Var linkHtml = '& lt; a href = "#" class = "क्लाइंट पोपओवर" & gt; साइमन जोन्स & lt; / a & gt;'; Var newHtml = html.replace (/ साइमन \ s + जोन्स / जीआई, linkHtml); $ ( '। सामग्री') एचटीएमएल (newHtml)।  

यहाँ एक काम कर रहा है jsfiddle:

हालांकि, सर्वर पक्ष पर यह चालाक तरीके से करना है, क्योंकि जावास्क्रिप्ट तरीके से आप अन्य लिपियों को तोड़ सकते हैं जो इवेंट हैंडलर्स को संलग्न करते हैं आपके कोड में कुछ HTML तत्वों के लिए एस्प.net में आपको कुछ इसी तरह करने के लिए इस समारोह की आवश्यकता होगी:

दूसरे मुद्दे के लिए, आप अपने मुख्य HTML फ़ाइल में जावास्क्रिप्ट चर में पॉपओवर-सामग्री लिख सकते हैं

  var popoverContent = '@ Html.Action ("पॉपवर", "क्लाइंट")';  

और अलग javascript फ़ाइल में varialbe का उपयोग करें

  $ ("। ClientPopover") popover ({html: true, कंटेनर: 'body' , ट्रिगर: 'होवर', सामग्री: पॉपओवर कंटेंट});  

बस यह सुनिश्चित करें कि जावास्क्रिप्ट फ़ाइल को शामिल करने से पहले चर का असाइनमेंट होता है।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -