2014-11-04 10 views
6

मैं एक और पोस्ट में देखा है कि तुम इतनी तरह अपना रेजर कोड में JavaScript फ़ंक्शन कॉल कर सकते हैं:कॉलिंग JavaScript फ़ंक्शन

@:FunctionName() 

मेरे लिए हालांकि यह केवल वास्तविक शब्द आउटपुट FunctionName()

@model PriceCompare.Models.QuoteModel 

@{ 
    ViewBag.Title = "Quote"; 
} 

<h2>Quote</h2> 

@if (@Model.clarify == true) 
{ 
    // do drop down loic 
    @:ShowClarify(); 
} 
else 
{ 
    // fill quote 
    @:ShowQuote(); 
} 
<div class="clarify"> 

    You can see the clarify div 
</div> 
<div class="quote"> 

    You can see the quote div 
</div> 

@section head { 

    <script type="text/javascript"> 

     $(document).ready(
      function ShowQuote() { 
       $(".quote").show(); 
      }, 
      function ShowClarify() { 
       $(".clarify").show(); 
      } 
     ); 

    </script> 
} 

यह है क्योंकि मैं एक `@if में यह नेस्ट है ':

यहाँ मेरे विचार है? वैसे भी इस के आसपास?

उत्तर

9

आप एक <script> टैग में अपने जावास्क्रिप्ट लगाने की जरूरत है, और आप अपने दायरे के भीतर कार्यों कॉल करने की आवश्यकता:

<script type="text/javascript"> 

    $(document).ready(
     function ShowQuote() { 
      $(".quote").show(); 
     }, 
     function ShowClarify() { 
      $(".clarify").show(); 
     } 

     @if (@Model.clarify == true) 
     { 
      // do drop down loic 
      ShowClarify(); 
     } 
     else 
     { 
      // fill quote 
      ShowQuote(); 
     } 
    ); 

</script> 
+0

धन्यवाद। क्या "@:" वाक्यविन्यास एक चीज है? क्या यह बंद हो गया था? – Guerrilla

+2

'@:' वाक्यविन्यास सिर्फ रेज़र को सादा पाठ के रूप में पालन करने के लिए कहता है। कोड ब्लॉक के संदर्भ में, रेजर को जावास्क्रिप्ट संदर्भ की बजाय सी #/वीबी संदर्भ में 'फ़ंक्शननाम()' विधि को चलाने का प्रयास करने से रोकने के लिए आवश्यक होगा, जहां यह वास्तव में मौजूद है। –

+0

@ गुरिराला मैंने इसे विजुअल स्टूडियो में नहीं रखा है, इसलिए यह संभव है कि आपको अभी भी जावास्क्रिप्ट फ़ंक्शन कॉल के सामने '@:' की आवश्यकता हो। – jrummell

1

आप जावास्क्रिप्ट समारोह के लिए किसी भी पैरामीटर गुजर रहे हैं, तो यह उद्धरण के साथ संलग्न किया जाना चाहिए ('')।

foreach (var item in files) 
    { 
     <script type="text/javascript"> 
      Attachment(**'@item.FileName'**, **'@item.Size'**); 
     </script> 
    } 
+1

आपको कोड स्वरूपण विकल्पों का उपयोग करना चाहिए (कोड, Ctrl-k का चयन करें) यह सुनिश्चित करने के लिए कि आपका कोड आपके उत्तर में होने के तरीके से प्रदर्शित होता है। साथ ही, अपने उदाहरण में प्रश्न से कुछ का उपयोग करना बेहतर है ताकि यह स्पष्ट हो सके कि आपका क्या मतलब है। – Tibrogargan

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