[英]Can I load a javascript file with a partialView in asp.net-mvc?
[英]In my asp.net-mvc file, how can I move my javascript to a seperate js file?
我的視圖中有一堆JavaScript,並且它變得越來越大,因此我想將其移動到單獨的js文件中。 我有一個問題是我有這條線:
var tags = <%= new JavaScriptSerializer().Serialize(Model.Tags) %>;
我顯然不能僅僅復制它,因為它具有服務器端的asp.net-mvc標記。 建議的處理方式是:
將此函數保留在aspx頁面中,並讓來自單獨js文件的javascript調用該函數嗎?
其他??
您可以做的是讓一個JavaScript對象包含您從控制器獲取的所有信息,並將其通過位於外部javascript文件中的javascript函數傳遞。 您還可以通過options變量傳遞其他信息。
例:
var options = {
tags: <%= new JavaScriptSerializer().Serialize(Model.Tags) %>
};
initPage(options);
用法:
function initPage(options) {
console.log(options.tags);
}
這在很大程度上取決於您要使用它的方式和重復的程度。
一些想法:
tags
是靜態的。 然后,我認為實際上並不需要加入模型中。 因此,您可以將它們移動到新的Controller操作中,該操作將輸出scipt。 您可以在視圖的<script>
部分中調用此操作。 tags
變化非常頻繁(甚至在每次加載頁面時)。 因此,將其移動到單獨的腳本文件中沒有任何好處。 如果您使用適當的閉包設置了javascript文件,則可以在調用該函數時公開用於傳遞該信息的屬性(或更好的是,該對象/方法的參數)。
您的Javascript必須是這樣的:
var JsFile = (function() {
var tags;
// list all of your methods here.
return {
var setTags = function(_tags) {
tags = _tags;
}
};
})();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.