ラベルが表示されていない場合、送信ボタンで検証メッセージまたはエラーが発生するという点で、可視性に基づいてラベルに検証を追加するのが好きです。
ツールボックスの検証コントロールに慣れているため、この機能は使用できません!
ラベルが表示されていない場合、送信ボタンで検証メッセージまたはエラーが発生するという点で、可視性に基づいてラベルに検証を追加するのが好きです。
ツールボックスの検証コントロールに慣れているため、この機能は使用できません!
asp:Label の可視性が false に設定されている場合、asp.net エンジンはそれを DOM に入れさえしないようです。したがってonclick
、(html) ボタンのプロパティを使用して javascript をチェックインし、ラベルが DOM にあるかどうかを確認し、asp.net の__doPostBack()
javascript 関数を使用してサーバーにポストバックすることができます。
<script type="text/javascript">
function testMe()
{
var lbl = document.getElementById('lblTest');
if(lbl == null)
document.getElementById('msg').innerHTML = "Error";
else
__doPostBack('testButton');
}
</script>
<asp:Label ID="lblTest" runat="server" Visible="false" Text="Hello"></asp:Label>
<button onclick="testMe();">test</button>
正直なところ、ラベルが DOM に存在しない場合はlbl
になると思ってundefined
いましたが、Firebug は実際にはnull
. とにかく、注意すべきいくつかのことは、asp.netがメソッドを定義するために__doPostBack()
、フォームに何らかの制御が必要だと信じていることですautopostback="true"
。Page_Load
:
if(Request.Form["__EVENTTARGET"] == "testButton") {}