asp学习:
http://msdn.microsoft.com/zh-cn/library/3yekbd5b(v=vs.80).aspx
1.配置web.config
借助表达式语法<%$...%>,我们可以从配置文件(Web.Config)中取得连接字符串和应用程序设置,或从资源文件(.resx或.resource)中取得特定项的设置值。
http://blog.csdn.net/maji_lulu/article/details/7744299
2.<%%> 需要解释的asp代码, script runat="server"指定运行在服务端。
3.<% dim strsql, rs;
strsql = "insert into userl() values ();
set rs=conn.execute(strsql)
%>
<% if session("username") == ""
response.write ("please login!")
else
response.write("you id is " + session("username");
======http://msdn.microsoft.com/zh-cn/library/ms178135(VS.80).aspx
<form id="form1" runat="server">
<% for(int i = 0; i < 6; i++) %> <% { Response.Write("<br>" + i.ToString()); }%>
</form>
======
<%@ Page Language="C#" %> //
<script runat=server>
protected String GetTime()
{
return DateTime.Now.ToString("t");
}
</script>
<html>
<body>
<form id="form1" runat="server">
Current server time is <% =GetTime()%>.
</form>
</body>
</html>
======
<mce:script runat="server"><!--
protected string GetTime()
{
return DateTime.Now.ToString("t");
}
// --></mce:script> <%= GetTime() %>
=======
asp代码分离。
﹤script language="jscript"﹥
function showmessagebox()
{
window.alert("hello");
}
2.在cs文件的Page_Load事件里添加以下代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
this.Button1.Attributes.Add("onclick","javascript:showmessagebox();");
}
===代码分离,
大家看上面在改动HTML代码的时候稍显麻烦,我们还有一种更简单的方法,只要在后台文件中加入几行代码,我们就不必在HTML中找到控件的位置,加入事件引用了。
在后台文件中加入
protected override void OnInit(EventArgs e)
//此方法引发Init事件,当服务器控件初始化是发生。
{
初始化控件方法()
base.OnInit(e);
}
private void初始化控件方法();
{
this.控件名.Click+=new EventHandler(控件事件响应方法);
}
====
上面两个方法的加入,我们可以看到,只要我们在后台代码中加入初始化控件的方法,就可以将对应的事件加入进去,而不用在HTML代码中加入事件引用了。同样,我们将常用的Page_Load事件也可以实现
只要加入:
Private void Page_Load(object sender,System.EventArgs e)
{
代码;
}
private void初始化控件方法();
{
this.控件名.Click+=new System.EventHandler(控件事件响应方法);
this.Load+=new System.EventHandler(this.Page_Load);
}
EventHandler:是表示将处理不包含事件数据的事件的方法。
====asp优化
1.ajax避免整个页面加载
2.page_load使用IsPostBack来避免不必要的处理
3.EnableViewState = false
4.打开缓存设置
5.
=====格式化
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
取出来,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd");
====学习Repeater控件
http://blog.csdn.net/lisky119/article/details/1659219
===动态生成页面控件
page.control.add(new textbox())
http://www.csharpwin.com/dotnetspace/10645r1111.shtml
====
比如生成一个TextBox输入框
TextBox myText = new TextBox();
myText.ID = "textbox1";
this.Controls.Add(myText);
这样就添加到页面上了
取的时候就是FindControl根据ID找到对应的控件,然后判断checked属性就可以了!