[英]Calling Javascript (Raphael.js library) from C# codebehind in ASP.NET
[英]Calling javascript from codebehind c# & Asp.Net
我無法理解為什么不能從后面的代碼調用下面的javascript代碼
我有一個像這樣的簡單的JavaScript塊
function callsCox(res) {
alert(res);
}
從我的代碼后面:
....
string res="COX23";
string script = String.Format("callsCox({0})", res);
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Cox",script,true);
我錯過了什么嗎? 沒有任何例外或錯誤。
Page.ClientScript.RegisterStartupScript
看起來Page.ClientScript.RegisterStartupScript
(可能遺漏了一些東西)。 要嘗試的事情
將撇號添加到調用中 - 它作為對象傳遞。 嘗試作為一個字符串
string script = String.Format(“callsCox('{0}')”,res);
是否在更新面板部分回發后調用字符串腳本Page.ClientScript.RegisterStartupScript
。 那可能會影響它
我知道如果它們在同一頁面中,則找不到功能。 嘗試移動到外部js文件。 不要問我為什么這已經解決了問題,但過去我曾經有過幾次。
只是出於調試目的,將函數一起取出等式,嘗試使警報像這樣工作。 如果它確實有效,它至少會將問題隔離開來
this.Page.ClientScript.RegisterStartupScript(this.GetType(),“Cox”,“alert('這有用嗎?')”,true);
查看頁面的來源。 該功能是否寫入頁面(或從第4點開始提醒)。 它應該是。 如果你在this.Page.ClientScript.RegisterStartupScript
方法上設置一個斷點,它是否被擊中? 好像它可能不是。
很抱歉沒有給您“嘿,這是解決方案”類型的答案。 我過去曾經有這樣的東西,我發現這個問題一直存在,直到問題被隔離開來。 其他人當然可以發現一個直接的問題。 祝好運。
這對我有用:
public static void ShowAlert(Page page, String message)
{
String Output;
Output = String.Format("alert('{0}');",message);
page.ClientScript.RegisterStartupScript(page.GetType(), "Key", Output, true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.