在我的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
}
答案 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);