JavaScript函数阻止执行C#函数?

时间:2013-02-20 11:13:35

标签: c# javascript asp.net

在我的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
}

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

您需要修改您的javascript函数调用,如此

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

并确保您的javascript函数返回true,以便发生回发(执行C#函数)。如果您的javascript函数返回false,则回发到服务器不会发生。

答案 2 :(得分:0)

我建议您使用它来调用javascript函数:

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

你也可以从codebehind调用javascript函数:

Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "jsfunction();", true);