サーバー側ではなく、クライアント側でこれを処理する必要があります (属性を使用)。
すでに jQuery を使用している場合は、次のようになります。これがjsFiddleです。
$(function () {
var dropdown = $('#dropdown').change(function (event) {
if ($(this).val() == "no") {
$('#fieldToHide').hide();
} else {
$('#fieldToHide').show();
}
});
});
クライアント側でそれを行う理由は非常に単純です。他の方法では、値を確認するためにドロップダウンを変更するたびにポストバックが必要になります..
**編集**コメントから:
この JavaScript をページに挿入することは可能ですか... ...本質的に同じスクリプトを各ページに複製するのではなく
これは、もう少し汎用的に書き直して、別のページで再利用することができます。それを yoursite.js (既にあるはずです..) に追加し、必要に応じて各ページに接続します。jsFiddleを更新しました。
Site.JS
function hideIf(selectField, hideField, hideValue) {
$(selectField).change(function (event) {
if ($(this).val() == hideValue) {
$(hideField).hide();
} else {
$(hideField).show();
}
});
}
そして、それを使用する各ページで、次のように接続します。
$(function () {
hideIf("#dropdown", "#fieldToHide", "no");
});
このようにして、上記のスクリプトを書き直すことなく、異なる選択フィールドで hideIf を複数回呼び出すことができます。