2012-03-11 13 views
0

つの質問:は私のjsファイルに私のビュー(ページ)からパラメータを渡す

方法1:

以下の私のjavascriptに私の見解からパラメータを渡すための2つの方法があります

マイビュー:

<script type="text/javascript"> 
    tabChangeConfirmationTitle = "@Html.Raw(UserResource.Warning)"; 
    tabChangeConfirmationMessage = "@Html.Raw(UserResource.TabChangeConfirmationMsg)"; 
</script> 

マイジャバスクリプトファイル:

var tabChangeConfirmationTitle; 
var tabChangeConfirmationMessage; 

方法2:

マイビュー:

<script type="text/javascript"> 
    fctTranslationsForConfirmationDialog("@Html.Raw(UserResource.Warning)", "@Html.Raw(UserResource.TabChangeConfirmationMsg)"); 
</script> 

マイジャバスクリプトファイル:

var tabChangeConfirmationTitle; 
var tabChangeConfirmationMessage; 

function fctTranslationsForConfirmationDialog(Title, Message) { 
    tabChangeConfirmationTitle = Title; 
    tabChangeConfirmationMessage = Message; 
} 

私は第一の方法を好みます。それはいいですか?より良い方法はありますか?

ありがとうございました。

PS:関連する他の質問はありますが、私はこれらの2つの方法についてご意見をお聞きしたいと思います。

JSファイル:あなたのhtmlの頭の中で

var p = { 
    tabChangeConfirmationTitle: null, 
    tabChangeConfirmationMessage: null 
}; 

<script type="text/javascript"> 
    document.onload = function() { 
     p.tabChangeConfirmationTitle = "@Html.Raw(UserResource.Warning)"; 
     p.tabChangeConfirmationMessage = "@Html.Raw(UserResource.TabChangeConfirmationMsg)" 
    }; 
</script> 

あなたのHTMLが同じくらい含まれていないこの方法、私は方法1のバリエーションのために行くだろう

答えて

0

より多くの変数を追加したい場合は、それを行う方法が非常にクリーンで簡単です。変数をjsファイルのpオブジェクトに追加して、onloadハンドラで初期化してください。他のjavascript、そしてonload初期化コードはあなたのjsファイルに入れられ、javascript以外のコードでは乱雑になることはありません。

また、pオブジェクトを使用すると、名前空間を作成し、2つ以上のオブジェクトでグローバル名前空間を汚染しないようにすることができます。

+0

ありがとうございます。そして、他のjavascript変数(今度は私のjsファイルでのみ使用されています)があればどうしますか?私はposx、posY、objWidth、objHeightなどのような他の変数を持っていると言うことができます...それは、このpオブジェクトにすべてのjs変数を追加する意味ですか? – Bronzato

+0

私はそう言うでしょう、はい。 – Tom

+0

ありがとう、私の友人。 – Bronzato

関連する問題