ASP.NET.3.5.SP1高级编程(第6版)中文版.清华大学出版社
笔记:
第一章
Asp.net页面之间传值的几种方法
http://wenku.baidu.com/view/1132f863f5335a8102d22026.html
1:QueryString 简单,不安全,数据量不大,response,resquest
2: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";
}
}
}