mVC2aspxページのJavaScriptに埋め込まれたこれと同等の方法を教えてください。
if (('<%= Model.SomeFunctionEnabled %>' == 'True')
およびMVC3のRazorビューページ(cshtml)の関数コードブロック全体?
何かのようなもの :
@{
foreach(var d in Model.Employees)
{
....
}
}
これは、ビューページのHTML部分に埋め込まれている場合に正常に機能します。ありがとう
サーバー側でこれを実行でき、テストが成功した場合に応じて動作するjavascriptを含めることができるのに、なぜクライアント側でテストするのか。
<script type="text/javascript">
@if (Model.SomeFunctionEnabled) {
<text>
// Put your javascript code here
alert('the function is enabled');
</text>
}
</script>
JavaScriptでロジックを実行する場合:
if ('@Model.SomeFunctionEnabled' == 'True') {
}
しかし、これは常に同じ結果に評価される状態になります。したがって、サーバーでテスト全体を実行するには、Darinの回答の方が適しています。
ただし、テストがこのような動的なものである場合、サーバー上で実行することはできません。 @
記号を使用して、C#変数の内容を取得できます。
@{
var elementID = GetMyGeneratedElementID();
}
<div id="@elementID">...</div>
<script>
function MyAmazingJavascriptElementHandler() {
if ($("#@elementID").SomeTest()) {
DoMyAmazingJavascript();
}
}
</script>