asp.net语法笔记

  1. 云栖社区>
  2. 博客>
  3. 正文

asp.net语法笔记

ap0581w9c 2009-04-26 13:42:00 浏览322
展开阅读全文

C#转义字符
   
 
  转义字符 转义字符的意义
\n   回车换行
\t 横向跳到下一制表位置
\v  竖向跳格
\b 退格
\r  回车
\f  走纸换页
\\ 反斜线符"\"
\'  单引号符
\a  鸣铃
\ddd  1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符

 
 
 
当前面加@时候后面的字符都不用转意

 

ASP.NET Web 窗体语法元素
ASP.NET Web 窗体页是带 .aspx 文件扩展名的声明性文本文件。除静态内容外,还可以使用八个独特的语法标记元素。本“入门”节复习这些语法元素中的每一个并提供示例说明它们的用法。

呈现代码语法:<% %> 和 <%= %>

代码呈现块由 <% ...%> 元素表示,允许自定义控件内容显示,并且在 Web 窗体页执行的呈现阶段执行。下面的示例说明可以如何使用它们在 HTML 内容上循环。


<% for (int i=0; i<8; i++) { %>
     <font size="<%=i%>"> Hello World! </font> <br>
<% } %>
<% Response.Write("Hello World"); %>
<%="你好!"%>

ASP.NET HTML 服务器控件语法

HTML 服务器控件使页开发人员能够以编程方式操作页内的 HTML 元素。HTML 服务器控件标记因“runat=server”属性而不同于客户端 HTML 元素。下面的示例说明可以如何在 ASP.NET 页内使用 HTML <span runat=server> 服务器控件。

与其他服务器控件一样,也能以编程方式访问方法和属性,如下例所示。


<script language="C#" runat="server">
  void Page_Load(Object sender, EventArgs e) {
    Message.InnerHtml = "Welcome to ASP.NET";
  }
</script>
...
<span id="Message" style="font-size:24" runat="server"/
 

 

数据绑定语法:<%# %>

ASP.NET 中内置的数据绑定支持使页开发人员能够以分层方式将控件属性绑定到数据容器值。位于 <%# %> 代码块中的代码只有在其父控件容器的 DataBind 方法被调用时才执行。下面的示例说明可以如何在 <asp:datalist runat=server> 控件内使用数据绑定语法。

在数据列表内,指定了一项的模板。用数据绑定表达式指定项模板的内容,并且 Container.DataItem 引用数据列表 MyList 所使用的数据源。

<asp:datalist id="MyList" runat=server>
  <ItemTemplate>
    Here is a value: <%# Container.DataItem %>
  </ItemTemplate>
</asp:datalist>

本例中,以编程方式设置 MyList 控件的数据源,然后调用 DataBind()。

void Page_Load(Object sender, EventArgs e) {
  ArrayList items = new ArrayList();

  items.Add("One");
  items.Add("Two");
  items.Add("Three");

  MyList.DataSource = items;
  MyList.DataBind();
}

对象标记语法:<object runat="server" />

对象标记使页开发人员能够用基于标记的声明语法声明和创建变量的实例。下面的示例说明可以如何使用对象标记创建 ArrayList 类的实例。

<object id="items" class="System.Collections.ArrayList" runat="server"/>

运行时自动创建对象,然后可以通过 ID“items”访问此对象。
本例中,以编程方式设置 MyList 控件的数据源,然后调用 DataBind()。

void Page_Load(Object sender, EventArgs e) {
  ArrayList items = new ArrayList();

  items.Add("One");
  items.Add("Two");
  items.Add("Three");

  MyList.DataSource = items;
  MyList.DataBind();
}

 

服务器端注释语法:<%--注释--%>

服务器端注释使页开发人员能够防止服务器代码(包括服务器控件)和静态内容执行或呈现。下面的示例说明如何阻止内容执行和发送到客户端。注意,<%-- 和 --%> 之间的内容将被筛选掉,仅在原始服务器文件中可见,即使其中包含其他 ASP.NET 指令。


<%--
  <asp:calendar id="MyCal" runat=server/>
    <% for (int i=0; i<45; i++) { %>
             Hello World <br>
    <% } %>

 

 服务器端包含语法:<-- #Include File="Locaton.inc" -->

服务器端 #Includes 使开发人员能够将指定文件的原始内容插入 ASP.NET 页内的任意位置。下面的示例说明如何将自定义的页眉和页脚插入页中。

<!-- #Include File="Header.inc" -->
...
<!-- #Include File="Footer.inc" -->

 

 

 

定义变量:
string aa="";
必须要初始化不允许使用没有初始化的变量。
string bb="你好";
Response.Write(bb);

string bb;
bb="你好";
Response.Write(bb);
也可以连续定义多个变量并分别给他门赋值
string aa,bb,cc,dd;
aa="你好";
bb="我好";
cc="他好";
dd="都好";
Response.Write("<br>"+aa+"<br>"+bb+"<br>"+cc+"<br>"+dd);
此外可以定义其他类型的变量
c#中的数据类型
分为两种:1,引用类型(引用的是变量的地址对值的引用)2,值类型:
值类型:整形 实型  浮点型
例:
int a=2,b=3;
long d=a+b;
Response.write(d);
日期变量的使用:
//声明一个时间变量
DateTime dt;
dt=DateTime.Now;//初始化时间变量
Response.Write("<br>"+"完整的时间日期是:"+dt);
Response.Write("<br>"+"年是:"+dt.Year+"年");
Response.Write("<br>"+"月是:"+dt.Date.Month+"月");
Response.Write("<br>"+"今天是"+dt.Date.Day);
Response.Write("<br>"+"长格式日期:"+dt.Date.ToLongDateString());
Response.Write("<br>"+"短日期格式:"+dt.Date.ToShortDateString());
Response.Write("<br>"+"长时间格式是:"+dt.ToLongTimeString());
Response.Write("<br>"+"短时间格式是:"+dt.ToShortTimeString());


 

 

循环分为三种:
1。for 循环:
  格式:for (int i;i<100;I++)
         {代码段}
例如:string a="123456789";
     for (int i=0;i<a.lengh;i++)
         {
               Response.write(a[i].tostring()+<br>);

           }
2.while循环:
   while()
    {代码段  }
例子:int j=0;
     while(j<500)
     {
       Response.Write(j);
   
      }
3.do() while{}
例子: int c=0;
   do{
    Response.Write(c+"<br>");
    c++;
   
   }
    while(c<10);

 

 

 

 

Cookies用于存储特定用户信息,它提供了Web程序中一种有用的方式System.Web空间名称也提供了cookie的访问。虽然你不应该使用cookie来存储一些敏感性的数据,但是,它们是处理锁细数据的一个极好的选择,比如颜色参数选择或者最后一次访问日期

.NET System.Web空间名称包含三个类,你可以使用它们来处理客户端的Cookies:
HttpCookie:提供一个建立和操作独立HTTP cookies的安全类型的方式。
HttpResponse:Cookies属性允许客户端cookies被操作。
HttpRequest:Cookies属性允许访问客户端操作的cookies。
HttpResponse和HttpRequest对象的Cookies属性将返回一个HttpCookieCollection对象,它包含着,将单独的cookies添加到集合(collection)中,以及从集合(collection)获得一个单独的cookies。
HttpCookie类
HttpCookie类针对于客户存储之用而建立的单独cookies。一旦HttpCookie对象被建立,你可以将其添加到HttpResponse对象的Cookies属性中。同样的,你可以通过HttpRequest对象访问现有的cookies。HttpCookie类包含以下的公有属性:
Domain(域名):获得或设置与cookie有关的域名,可用于限制特定区域的cookie访问。
Expires(期限):获得或设置cookie的终止日期和时间,你可以将其设置为一个过去的日期以自动终止或者删除cookie。
Names(名称):获得或设置cookie名称。
Path(路径):获得或设置cookie的虚拟路径。这一属性允许你限制cookie范围,也就是说,访问cookie只能限制于一个特定的文件夹或者路径。设置这一属性限制为只能访问特定路径和该路径下的所有文件。
Secure(安全):发信号以表示是否使用Secure Sockets Layer (SSL)来发送cookie值。
Value(值):获得或设置一个单独的cookie值。
Values(信息):返回包含在cookie中的key/value的一个集合。

 

建立一个COOKIES要用HttpCookie构造函数方法有两种
1;HttpCookie newcookies=newcookie ("name","value');
2.HttpCookie newcookies=newcookie("name");


访问COOKIES有两个对象:
httpResponse和httpRequest
如:Response.write(Reuqest.cookie["cookiename"].value);
HttpCookieCollection对象访问cookies的完整列表:
如:用cookie列表可以用一个for循环来访问
  httpcookieCollection cookieCollections;
  httpcookie onecookie;
  string[] cookieArray =cookies.Allkeys;
  for(int i=0;i<cookiearray.length;i++)
  { onecookie=cookiecollection[cookiearray[i]];
      Response.write(onecookie.name+onecookie.value);
   }

 

cookie文件存放在客户端机器,所以你的用户可以任意删除或更改。此外,用户还可以使cookies无效化。基于此原因,请记住不要依赖cookie数据。你应该将重要的信息保存在服务器──特别是一个数据库中。
在一个cookie中存储关键信息被认为是一种低级的程序设计,因为这些信息很容易被泄露,原因是这些信息位于客户机器的一个文件中。在这一点,一种方法就是使用SSL,这是一种可以避免敏感信息的更好方法。
 
我可以使用cookies吗?
用户可以在自己的浏览器上无效化cookie支持。你可以在自己的代码中访问这些设置以决定是否支持cookies。Request对象满足了这一想法,以下VB.NET代码显示了这一过程:

 

 

一个综合的例子:


可以联合代码来使用cookie值。以下C#代码段对cookie支持进行了测试,并相应地将结果显示在一个文本框:
if (Request.Browser.Cookies == true)
{
if (Request.Cookies["LastVisited1"] == null)
{
HttpCookie newCookie = new HttpCookie("LastVisited1",DateTime.Now.ToString());
newCookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(newCookie);
this.txtName.Text = "Is this your first time?";
} else {
this.txtName.Text = "We haven't seen you since " +
 Request.Cookies["LastVisited1"].Value;
}  }

 

网友评论

登录后评论
0/500
评论
ap0581w9c
+ 关注