我將嘗試提供一個我剛創建爲測試應用程序的示例。
首先,我用的ScriptManager適用所有我喜歡本作的網頁如下的JavaScript文件:
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/JS/tester.js" />
</Scripts>
</asp:ScriptManager>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="Call database" />
</div>
</form>
</body>
在<Scripts>
標籤添加更多的JS文件。這將確保您在加載網頁時添加JavaScript文件。
是有我tester.js的代碼是:
function alertbox(data) {
alert("Completed the database operation with following data = " + data);
}
現在來到後面的代碼的情況下,我在我的樣本數據,我創建了,會做網頁的按鈕一些數據庫操作,一旦完成,它會提醒用戶有關SQL更新。
按鈕事件處理程序如下:
protected void Button1_Click(object sender, EventArgs e)
{
Thread.Sleep(2000);
int sqlReturnValue = ExecuteTheQuery();
ScriptManager.RegisterStartupScript(this, typeof(string), "Database Completed", "alertbox(" + sqlReturnValue + ");", true);
}
現在,這將調用JavaScript函數alertbox。
(注:這是你如何能做到這一點,你所期望的事情只是一個小例子)
更新:
同樣可以用ClientScript實現爲好。 我做了什麼,添加腳本標籤:
<head runat="server">
<title>Test Page</title>
<script src="JS/tester.js" type="text/javascript"></script>
</head>
在代碼按鈕點擊的背後:
protected void Button1_Click(object sender, EventArgs e)
{
Thread.Sleep(2000);
ClientScript.RegisterStartupScript(this.GetType(), "Database Completed", "alertbox(23);", true);
}
對於理解ClientScript和ScriptManager的,請在此question。
你使用ScriptManager嗎?你可以嘗試的一件事是初始化'ScriptManager.RegisterStartupScript' –
是的,我需要從ClientScript.RegisterStartupScript返回值是可能的 – sifeee