2014-01-06 43 views
0
function alertbox() { 
    var mode = document.getElementById('<%= hdnMode.ClientID %>').value; 
    if (mode == "EDIT") 
     return false; 

    if (confirm("the same data is present against that ID ?") == true) { 
     document.getElementById('<%= hdnYesNo.ClientID %>').value = "COPY"; 
    } 
    else { 
     document.getElementById('<%= hdnYesNo.ClientID %>').value = "CANCEL"; 
    } 
} 

從SQL檢索數據後應該會出現上述確認消息,並且確認框從SQL獲取數據

Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction", 
"MyFunction()",true); 

如何從代碼隱藏使用它,如果這樣的話如何獲得基於該值的返回值 複製並取消

+0

你使用ScriptManager嗎?你可以嘗試的一件事是初始化'ScriptManager.RegisterStartupScript' –

+0

是的,我需要從ClientScript.RegisterStartupScript返回值是可能的 – sifeee

回答

0

我將嘗試提供一個我剛創建爲測試應用程序的示例。

首先,我用的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