संभवतः यह सही दृष्टिकोण नहीं है। चिंताओं के पृथक्करण को देखते हुए। आपके पास data injectorअपनी JavaScriptकक्षा में होना चाहिए और जो अधिकांश मामलों में डेटा है JSON।
अपने scriptफ़ोल्डर में JS फाइल बनाएं और इस संदर्भ को अपने साथ जोड़ेंView
<script src="@Url.Content("~/Scripts/yourJsFile.js")" type="text/javascript"></script>
अब, JavaScriptअपने शाब्दिक वर्ग पर विचार करें yourJsFile.js:
var contentSetter = {
allData: {},
loadData: function (data) {
contentSetter.allData = eval('(' + data + ')');
},
setContentA: function () {
$("#contentA").html(allData.contentAData);
},
setContentB: function () {
$("#contentB").html(allData.contentAData);
}
};
एक वर्ग भी घोषित करें
public class ContentData
{
public string ContentDataA { get; set }
public string ContentDataB { get; set }
}
अब, अपने Actionइस से करें :
public ActionResult Index() {
var contentData = new ContentData();
contentData.ContentDataA = "Hello";
contentData.ContentDataB = "World";
ViewData.Add("contentData", contentData);
}
और आपके विचार से:
<div id="contentA"></div>
<div id="contentB"></div>
<script type="text/javascript">
contentSetter.loadData('@Json.Encode((ContentData) ViewData["contentData"])');
contentSetter.setContentA();
contentSetter.setContentB();
</script>