ASP.NET.3.5.SP1進階編程(第6版)中文版.清華大學出版社
筆記:
第一章Asp.net頁面之間傳值的幾種方法http://wenku.baidu.com/view/1132f863f5335a8102d22026.html1:QueryString 簡單,不安全,資料量不大,response,resquest2:Session,Application伺服器端,cookie用戶端 資料量都不大。3:在目標跳轉頁中添加<%@ Reference Page="~/跳轉起始頁.aspx"%>然後就可以在目標頁後台直接引用了 資料量可大,而且可以傳輸對象資料。注意在跳轉頁的後台代碼中寫上Public string 名稱{ return this.TextBox1.text}Asp.net中各種檔案夾\App_Code在此檔案夾下可以同時編寫vb和C#程式\App_Data 在此檔案夾下可以存放於資料有關的東西\App_Themes主題(skin)檔案夾\App_GlobalResources用來進行存放全域的字串表(**.resx)。主要的用途是改變網站的顯示字型中英文。\App_LocalResources同上,區別就是local是控制單個的頁面,命名的話如:Default.aspx.resx Default.aspx.en-gb.resx\App_WebReferences添加引用\App_Browsers用來識別用戶端的Browser,並且修改存放在C:\Windows\Microsoft.NET\ Framework\v2.0.50727\CONFIG\Browsers檔案夾中對應瀏覽器的預設的設定。編譯asp.net第一次將檔案編譯成為dll,以後就直接執行個體化這個dll,所以在編碼的時候,若是後台代碼改變了,一定要從新編譯一下。原地先行編譯:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_complier.exe
第二章<input type="text" id="text1" value="zhangyongbin"/> html伺服器控制項<title></title>html標籤[HtmlContainerControl]都可以轉換成為Web伺服器控制項,只要添加runat="server"即可,那麼添加好了之後呢,可以在後台進行直接存取到這些控制項。如<title id="Title1" runat="server"/> 在後台代碼可以寫Title1.value = "test";<meta><p><span>[HtmlGenericControl]可以在後台代碼上面進行調用javascript。見112頁回呼函數 usecallback解釋: 首先前台單擊Button3之後,調用javascript CallBackTest()方法,然後調用UseCallback(arg)方法,arg作為參數傳入 後台Page_Load相當於註冊了UseCallback方法(Page.ClientScript.RegisterClientScriptBlock方法) 並且繼承了System.Web.UI.ICallbackEventHandler介面,RaiseCallbackEvent是前台調入的方法,GetCallbackResult是後台把結果返回的方法。最後返回結果: true代碼: 前台: <head runat="server"> <title></title> <script language="javascript" type="text/javascript"> var arg = "test"; function CallBackTest() { UseCallback(arg); } function GetRandomNumberFromServer(value) { document.forms[0].aa.value = value; } </script> </head><body> <form id="form1" runat="server"> <div> <input id="Button3" type="button" value="CallBackTest" onclick="CallBackTest()" /> <asp:TextBox ID="aa" runat="server">fddfff</asp:TextBox> </form></body></html> 後台:public partial class _Default : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler{ private string callbackTest = string.Empty; protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("Main.aspx"); } protected void Page_Load(object sender, EventArgs e) { string cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "GetRandomNumberFromServer ", null, true); string cbScript = "function UseCallback(arg) " + "{ " + cbReference + "; " + "} "; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UseCallback ", cbScript, true); } public string GetCallbackResult() { return callbackTest; } public void RaiseCallbackEvent(string eventArgument) { if ("test".Equals(eventArgument)) { callbackTest = "true"; } else { callbackTest = "false"; } }}