2013-02-20 54 views
1

在我的aspx页面上,我有两个按钮。一个调用一些javascript,另一个调用代码页上的C#函数。当我在文档头部调用JavaScript文件时,JavaScript函数运行良好,但C#没有。点击按钮不会做任何事情。如果我删除了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

如果有人打电话给javascript和其他调用c#你同时点击两个按钮! – Sakthivel 2013-02-20 11:18:20

+1

'script'元素的'language'属性在很久以前就被弃用了。 – 2013-02-20 11:24:50

+0

你错过了一些代码?或者这是.aspx页面中的总代码? – 2013-02-20 11:27:49

回答

2

你需要把一个​​标签

+0

所有控件都在

标签内。当我没有链接到页面的JavaScript.js文件时,C#函数完美地工作。 – 2013-02-20 11:50:16

0

我里面的所有Asp.Net服务器控件Sugg EST你使用这个调用JavaScript函数:

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

你也可以调用JavaScript函数从代码隐藏:

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

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

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

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

+0

我的C#函数仍然不可用。我尝试使用javascript点击事件删除按钮。其他按钮仍然不起作用。他们只在我删除该行时工作:'' – 2013-02-21 15:58:51

+0

如果可以,请分享您的Javascript.js文件? – Ahmed 2013-02-21 22:25:45