1

私のaspxページには2つのボタンがあります。1つはJavaScriptを呼び出し、もう1つはコードページでC#関数を呼び出します。ドキュメントの先頭にあるjavascriptファイルを呼び出すと、JavaScript関数は正常に機能しますが、C#は機能しません。ボタンをクリックしても何も起こりません。javascript呼び出しを削除すると、C#関数は正常に機能します。

どうすればこれを克服できますか?JavaScriptファイル内でC#関数を見つけることを期待しているようです。

ASP:

<head>
<script src="MyFunctions.js" language="javascript" type="text/javascript"></script>
</head>
<body>
<asp:Button id="btn1" Text="Submit" runat="server" OnClick="buttonSumbit_Click" />
<asp:Button id="btn2" Text="Show" runat="server" OnClientClick="buttonShow_Click()" />
</body>

C#:

protected void buttonSumbit_Click(object sender, EventArgs e)
{
//SOME CODE HERE
}

JavaScript:

function buttonShow_Click()
{
//SOME CODE HERE
}
4

3 に答える 3

2

<form runat="server"></form>すべての Asp.Net サーバー コントロールをタグ内に配置する必要があります

于 2013-02-20T11:18:31.407 に答える
1

JavaScript関数呼び出しを次のように変更する必要があります

<asp:Button id="btn2" Text="Show" runat="server" OnClientClick="return buttonShow_Click()" />

ポストバック(C#関数の実行)が発生するように、JavaScript関数がtrueを返すことを確認してください。JavaScript 関数が false を返す場合、サーバーへのポストバックは発生しません。

于 2013-02-20T11:34:16.753 に答える
0

JavaScript関数を呼び出すためにこれを使用することをお勧めします:

OnClientClick="if(!hidepopup())return false;"

コードビハインドから JavaScript 関数を呼び出すこともできます。

Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "jsfunction();", true);
于 2013-02-20T11:23:11.493 に答える