[英]How to call javascript function from c#
我喜歡從c#調用JavaScript函數。 任何人都可以給我代碼片段。
更多詳情...
我有一個asp.net頁面,它有一個asp按鈕。 當我點擊該按鈕時,我想調用javascript函數。
喜歡......
在我的asp.net頁面中,
<button id="save" onclick="i like to call a method resides in asp.net page'>Save</button>
越來越多的細節...當點擊asp.net按鈕時,我喜歡執行一些服務器端操作,然后喜歡從那里調用一個javascript函數...
對於asp:button
您使用OnClientClick
<asp:Button id="myid" runat="server" OnClientClick="alert('test')" />
假設您在ASP.NET(包括MVC)中編碼,調用JavaScript函數意味着將JavaScript中的調用嵌入到ASPX代碼中,如下所示:
<script type="text/javascript">
doSomething();
</script>
您確實有機會將信息從C#傳遞給JS調用,就像您可以使用任何其他代碼更改ASPX的結果一樣:
<script type="text/javascript">
doSomething("<%= GetSomeTextFromCSharp(); %>");
</script>
這實際上擴展了“從C#調用JavaScript”的定義。 您正在做的是讓您的C#/ ASPX代碼生成HTML / JavaScript,然后瀏覽器將其解釋為任何其他HTML / JS(無論它是如何生成的)。
也許你可以解釋一下你想要做些什么。
我嘗試使用此代碼,它適用於我檢查是否有幫助
1)
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "alert('Informations');", true);
另一種方法是調用源代碼頁中編寫的javascript方法
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "xyz();", true);
您不能從ASP.NET C#代碼隱藏“調用”Javascript函數。 您可以將其他Javascript寫入網頁。 當頁面被發送回用戶並且Javascript存在時,您的代碼隱藏已經消失。 你可以寫出一個文字或做一個Response.Write()
Response.Write("<script language='javascript'>alert('Hellow World');</script>");
Sarathi,根據您最近的更新,您不清楚是否需要任何C#交互。 您的<button>
似乎是嚴格的客戶端(即:HTML),其中沒有ASP.NET交互。 要調用JavaScript函數,您需要將函數調用附加到按鈕標記的onclick屬性:
<button id="save" onclick="mySaveFunction();'>Save</button>
請注意, mySaveFunction()
只需要在瀏覽器的當前頁面的加載堆棧中定義。 這意味着它可以在以下任何一個中定義:
<button>
的ASPX頁面 最后,我想重申一下,沒有特別針對此的C#/ ASP.NET特定內容。 您可以對任何語言/框架執行相同的操作,包括靜態HTML文件。 您的問題似乎完全取決於JavaScript。
對於window對象:
http://msdn.microsoft.com/en-us/library/ms536420%28VS.85%29.aspx
window.execScript
對於頁面pbject:
http://msdn.microsoft.com/en-us/library/dfbt9et1%28v=VS.71%29.aspx
的RegisterClientScriptBlock
RegisterOnSubmitStatement
的RegisterStartupScript
等......
你可以從頁面后面的代碼調用javascript函數..例如你在javasript中有closewindow函數定義部分..如果你想執行該函數,你可以在頁面后面的代碼中的任何點擊事件中編寫以下編碼。
ClientScript.RegisterClientScriptBlock(GetType(), "close", "<script language=javascript>Closewindow();</script>", false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.