2008年5月19日 星期一

JavaScript + ASP.NET

JavaScript + ASP.NET

1. 以動態方式將用戶端指令碼(JavaScript)加入至 ASP.NET Web 網頁
以下都是 Page.ClientScriptManager 類別
資料來源:微軟 MSDN 官方網站 http://msdn2.microsoft.com/zh-tw/library/ms178207(VS.80).aspx
方 法
說 明
RegisterClientScriptBlock
將指令碼區塊加入頁面頂端。您可以字串形式建立指令碼,然後將它傳遞給加入網頁的方法。您可以使用這個方法將任何指令碼插入網頁。請注意,在完成所有項目之前指令碼可能就會呈現至網頁。因此您可能無法從指令碼參考網頁上所有的項目。
RegisterClientScriptInclude
這個方法類似 RegisterClientScriptBlock 方法,但是會加入參考外部 .js 檔的指令碼區塊。在以動態方式加入任何其他指令碼之前就會加入這個包含檔。因此您可能無法參考網頁上的某些項目。
RegisterStartupScript
將指令碼區塊加入當網頁完成載入(註:把JavaScript放在ASP.NET網頁最下方),但是在引發網頁的 onload( )事件之前,就會執行的網頁。這個指令碼通常不會建立為事件處理常式或函式。其通常只包含想要執行一次的陳述式。
RegisterOnSubmitStatement
加入執行以回應網頁 onsubmit 事件的指令碼。在送出網頁之前就會執行指令碼,並且讓您有機會取消送出動作。

 
2. 將用戶端指令碼事件 加入至 ASP.NET Web 伺服器控制項
以下的範例,是用來區分兩種不同的Click方式。一種是Server端(下面綠色字體),另一種是Client端(下面紅色字體,以JavaScript的方式。)
資料來源:微軟官方MSDN網站 / http://msdn2.microsoft.com/zh-tw/library/7ytf5t7k(VS.80).aspx

<%@ Page Language="VB" %>

<html>


<script
runat="server">

    Sub Button1_Click(ByVal sender As Object,
ByVal e As System.EventArgs)

        Label1.Text = "Server click handler
called."

    End Sub

</script>


<body>

  <form id="form1" runat="server">

    <asp:Button ID="Button1" Runat="server" 
OnClick="Button1_Click"


          OnClientClick="return
confirm('Ready to submit.')
"



          Text="Test Client Click" />

    <br />


    <asp:Label ID="Label1"
Runat="server" text="" />

  </form>

</body>

</html>


沒有留言: