2016-11-25 169 views
0

代碼Javascript函數從aspx.cs:呼叫從ASPX

....... 
button.OnClientClick = "onButtonClick(this)"; 
..... 

功能的Javascript(寫在aspx文件):

<script> 
     function onButtonClick(event) { 
      .... 
     } 
</script> 

的 「節目」,甚至沒能劇本。

回答

1

你在哪裏打電話給你button.OnClientClick作業做了嗎?如果它在頁面加載或按鈕點擊事件,它應該工作。如果你用ajax方法調用它,那麼按鈕可能會在賦值之後被渲染,所以也許這就是你的問題。

protected void Page_Load(object sender, EventArgs e) 
{ 
    Button1.OnClientClick = "clicky(this)"; 
} 

在.aspx頁面中,剛剛結束標記之前:

<script> 
    function clicky(e) { 
     alert("click"); 
    } 
</script> 

你應該能夠看到的onclick = 「clicky(本)」;當您在運行頁面時檢查Chrome開發人員工具中的元素時。

0

嗯,當你總是可以用一個普通的html按鈕來使用on click方法時,它的冗餘來調用帶有asp按鈕的JavaScript。

<button onclick="onButtonClick()">Click me</button> 

不過這裏是你如何可以用下面的方式

Response.write("<script type=""text/javascript"">onButtonClick();</script>") 

// OR 
ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:onButtonClick(); ", true); 
// OR 
string name = "onButtonClick()"; 
     ScriptManager.RegisterClientScriptBlock(this, typeof(string), "Key", name, true); 
// OR  
ScriptManager.RegisterStartupScript(this, GetType(), name, false); 
+0

我需要它,因爲我動態地創建了所有按鈕。 – Omer

+0

然後可能想使用scriptManager。 – John

+1

同意@John。該頁面將需要一個腳本管理器:'如下所示:http://javascriptshorts.com/JavaScript-call-a-javascript-code - 嵌段從-ASPX頁面代碼隱藏頁 –