これと同様の問題と回答を見てきましたが、問題を解決しているようには見えません。
更新パネル内にユーザー コントロールがあります。ユーザー コントロール内で、javascript を出力します。
トリガーされたときにJavaScriptは起動しません。javascript を usercontrol/updatepanels の外の親ページに移動すると、起動します。コードを複製せずにこのユーザーコントロールを別のページで使用できないため、これを行う意味がありません... javascript全体(別のサイト)を複製するか、使用されるすべてのページで.jsファイルへの参照を追加しますに(同サイト)。携帯性が悪いだけ
コントロール(更新パネル内)でJavaScriptを出力したいだけです。
updatepanel は、私がやっていることの正確さのために言及されています。ユーザーコントロールを updatepanels の外に配置しても機能しません。
シンプルに保つ(これは私にはうまくいきません):
ユーザーコントロール:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="_location.ascx.cs" Inherits="_location" %>
<script type="text/javascript">
function test() {
alert('Hello World!');
}
</script>
<a href="javascript:void(0);" onclick="javascript:test();">
Find For Me
</a>
親:
<uc1:_location runat="server" ID="_location" />
Chrome でデバッグすると、「Uncaught ReferenceError: test is not defined」と表示される
以下のように onclick に JavaScript を直接追加すると、動作します。
onclick="alert('Hello World!');"
上記のように、関数を親ページに移動することも機能します。
ブラウザがユーザー コントロールからのスクリプト出力を無視するかのようです。
何か案は?