1

在我的 aspx 页面上,我有两个按钮。一个调用一些 javascript,另一个调用代码页上的 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

您需要将所有 Asp.Net 服务器控件放在<form runat="server"></form>标签内

于 2013-02-20T11:18:31.407 回答
1

你需要修改你的javascript函数调用是这样的

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

并确保您的 javascript 函数返回 true 以便回发(执行 C# 函数)发生。如果您的 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 回答