2013-02-20 55 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