条件付きコンパイラ指令と定数をRazorマークアップで使用することができます。私は私が未満にしようとして条件付きで、これらのディレクティブを使用してJavaScriptのテキストを放出する方法があるかどうかを知りたい:条件付きコンパイル定数を使用してMVC3ビューから出力されるJavaScriptを制御する
@section BodyPanelScript
{
<script type="text/javascript">
$(function() {
$(":password").val(null);
// Back up current names of package radio buttons, then make all their names the same for grouping.
$("#package-selector :radio[name$='.IsSelected']").each(function() {
$(this).attr("oldname", $(this).attr("name"));
});
$("#package-selector :radio[name$='.IsSelected']").attr("name", "Package.IsSelected");
// Hook the 'submit' click to restore original radio button names.
$("form#register :submit").click(function() {
$(":radio[name='Package.IsSelected']").each(function() {
$(this).attr("name", $(this).attr("oldname"));
});
});
});
</script>
@{
#if AUTO_FILL_REG
<text>
<script type="text/javascript">
$(function() {
$(":password").val("123456");
});
</script>
</text>
#endif
}
}
定数AUTO_FILL_REG
が私のデバッグ設定で定義された、とにコントローラを伝えています登録モデルにデフォルト値を設定するので、プロセスをテストするためにフォームを必ず完了する必要はありません。モデルの既存の値はパスワードフィールドで無視されるため、このフィールドに値を入力するJavaScriptを使用します。私はこのJavaScriptを条件付きで出力したいと思いますが、上記のコードのようないくつかの試みでは、文字が実際にレンダリングされ、パスワードが入力されるか、または何も表示されず、ビルド設定に関係なくレンダリングされます。
私はこれを実際に終わらせましたが、私のMVCApplication、すなわち 'global.asax'で静的プロパティを定義しました。 – ProfK