繁体   English   中英

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

[英]JavaScript functions prevent C# functions from being executed?

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM