ASP.NETを使用してJavaScript関数に値を渡していますが、何らかの理由で判別できなかったため、別のコントロールから値を渡そうとしても機能しません。代わりに、構文エラーがあるように動作し、メインフォームに送信します。
誰かが理由を知っていますか?
例:
<asp:TextBox ID="txtToSay" runat="server" Text="Something"></asp:TextBox>
<asp:Button runat="server" ID="btnSaySomething1" Text="Say Something"
OnClientClick="saySomething(<%=txtToSay.Text%>);" /> <!-- doesn't work -->
<asp:Button runat="server" ID="btnSaySomething1" Text="Say Something"
OnClientClick="saySomething('<%=txtToSay.Text%>');" /> <!-- doesn't work -->
<asp:Button runat="server" ID="btnSaySomething2" Text="Say Something"
OnClientClick="saySomething('Something');" /> <!-- works -->
<script type="text/javascript">
function saySomething(txt){
alert(txt);
};
</script>
追加情報:
.NET 4.0で実行されているWebアプリケーション言語:C#
アップデート:
しばらくこれを使用した後<%%>
、ASPコントロールでタグを使用できないと判断しました。<%=someControl.Text%>
さらに、制御値の動的評価を探している場合は、リクエストがサーバーに送信された後にのみ評価されるため、または同様の構成を使用してAVOIDAVOIDAVOIDを使用してください。実行時に別のコントロールからの静的な値が必要な場合は、ページの読み込みイベントでその値を設定するか、コードビハインドで別の方法で処理します。