2011-03-04 8 views
12

कैसे मैं इस एक MVC2 aspx पृष्ठ पर JavaScript में एम्बेड के बराबर करना होगा:cshtml MVC3 उस्तरा पृष्ठ पर जावास्क्रिप्ट में सी # कोड एम्बेड करने के लिए कैसे

if (('<%= Model.SomeFunctionEnabled %>' == 'True') और यह भी एक उस्तरा दृश्य पृष्ठ पर एक पूरे समारोह कोड ब्लॉक (सीएचटीएमएल) एमवीसी 3 में?

कुछ की तरह:

@{ 
    foreach(var d in Model.Employees) 
    { 
     .... 
    } 
} 

कौन सा ठीक काम करता है जब दृश्य पृष्ठ के HTML भाग में एम्बेडेड। धन्यवाद

उत्तर

30

क्यों ग्राहक के पक्ष आप सर्वर साइड पर यह करते हैं और उसके अनुसार कार्य करता है, तो परीक्षण सफल होता जावास्क्रिप्ट शामिल हो सकते हैं जब पर परीक्षण:

<script type="text/javascript"> 
    @if (Model.SomeFunctionEnabled) { 
     <text> 
     // Put your javascript code here 
     alert('the function is enabled'); 
     </text> 
    } 
</script> 
+0

धन्यवाद डारिन, कभी-कभी मैं दृश्य कोड को दृश्य में रखना चाहता हूं। हालांकि, मुझे एहसास हुआ है कि इसकी सिर्फ वी.एस. 'वाक्य रचना हाइलाइटर जो इस के लिए ठीक से काम नहीं करता है - अपनी वास्तव में ठीक! – stan4th

+0

@ stan4th, ठीक है, लेकिन 'if' बयान में अपने उदाहरण में आप सर्वर साइड कोड जावास्क्रिप्ट उसे पढ़ने में कठिन बनाने के साथ मिश्रण कर रहे थे। यही कारण है कि मैंने आपको एक सुधार का सुझाव दिया। –

+0

@DarinDimitrov - मैं नीचे की तरह कुछ इनलाइन एचटीएमएल को रखना चाहते हैं ... ' 'तो आप सुधार कर सकते हैं। मैं अभी शर्तों के अंदर HTML टैग जोड़ने में सक्षम नहीं हूं। – SMC

0

आप जावास्क्रिप्ट में तर्क पर अमल करना चाहते हैं:

if ('@Model.SomeFunctionEnabled' == 'True') { 
} 

लेकिन यह एक शर्त है कि हमेशा एक ही परिणाम का मूल्यांकन का परिणाम है। तो आप सर्वर पर पूरे परीक्षण करने के लिए डारिन के जवाब के साथ बेहतर हैं।

यदि आपकी परीक्षण हालांकि कुछ इस तरह गतिशील, उस सर्वर पर निष्पादित नहीं किया जा सकता है। आप एक @ संकेत का उपयोग करके अपने सी # चर की सामग्री को प्राप्त कर सकते हैं।

@{ 
    var elementID = GetMyGeneratedElementID(); 
} 

<div id="@elementID">...</div> 
<script> 
    function MyAmazingJavascriptElementHandler() { 
     if ($("#@elementID").SomeTest()) { 
      DoMyAmazingJavascript(); 
     } 
    } 
</script> 
संबंधित मुद्दे