.
img
注册时间:--
  • 纯文字版本
    开 关闭
  • 消息
  • 收藏
  • 退出
注意:文章中$$符号只有一个,因程序问题提交后变成了两个。

走进asp.ner第五课

这课我要说一下条件语句,所谓条件语句,即控制程序运行的条件,有了它,我们就可以控制程序,使程序按照我们的意愿来运行。
下面新建一个aspx文件,这次你自己来取文件名。

<%@ Page Language=“C#“ CodeFile=“test.aspx.cs“ Inherits=“wap“ ContentType=“text/vnd.wap.wml“%><?xml version=“1.0“ encoding=“utf-8“?>
<!DOCTYPE wml PUBLIC ‘-//WAPFORUM//DTD WML 1.1//EN‘ ‘http://www.wapforum.org/DTD/wml_1.1.xml‘>
<wml>
<head>
<meta http-equiv=“Cache-Control“ content=“max-age=0“/>
</head>
<* title=“条件语句“>
<p>

<%=txt%>

请输入:<input name=“box“/><br/>
<anchor>确定<go href=“test.aspx“ method=“post“>
<postfield name=“box“ value=““/>
</go>
</anchor><br/>
</p>
</*>
</wml>

好了,我这里是引用test.aspx.cs文件。.cs是C#文件的扩展名。
下面新建一个C#文件。
using System;
using System.Web;
using System.Web.UI;
partial class wap:Page
{
protected string txt;
void Page_Load()
{
string Box=Request[“box“];
if(string.IsNullOrEmpty(Box))
{
txt=“请输入密码:<br/>“;
}
else
{
txt=“你输入的是:<br/>“;
txt+=Box;
}
}
}

我让你自己定文件名的目的是想让你开始学习修改我的代码,如果不能运行的话,那就要找一下错误了。wml部分声明了一个输入变量box,也就是<input name=“box“/>的值,提交的数据还是回到这个页面。现在来看cs页,里面多了不少东西。其中string Box=Request[“box“];声明了一个Box字符串变量,注意它不是wml声明的那个,这是两码事。而Request[“box“]是用来接收传入的数据,[“box“]这里接收的是wml传过来的变量box,而Request跟asp一样也是用来接收用户的信息。现在把接收的变量给字符串Box赋值。
在弄明白if(string.IsNullOrEmpty(Box))这句的意思之前,跟我念一下吧:

如果字符串Box是Null或者空值

很好,这里的if就是一个条件语句,它的格式为:

if(bool表达式){如果表达式的值为true要执行的代码}else{否则执行这里的代码}

C#是不处理空白字符的,最好不要写在一行上,当然你要那样写我也没办法,不过我还是建议你象我这样写,以后看起来就容易理解多了。
else部分是表达式不成立执行的代码,在这部分我们先初始化txt变量的值为“你输入的是:<br/>”,然后用赋值运算符+=把Box的值加上它本身的值,然后C#代码结束,之后就交由aspx页把我们处理好的变量输出。整个过程就是如此。
if语句也可以在它本身出现,即可以嵌套,如果你想对输入数据的有效性进行判断的话,那么你可以在else代码块进行,也就是wml有值传过来的情况下
else{
if(Box==“12345“) txt=“密码正确<br/>“;
}
不过,我在这里把if语句简化了,如果if(true)后面没有{}号的话,那么它只执行后面的第一个语句,比如
if(1==1) txt=“密码正确“; txt+=“密码不正确“;
这时,无论用1==1还是1==2,txt都有个“密码不正确“的值。很显然,如果用if(false)后面没有{}号,则程序会不理睬这个if语句。嵌套的if不仅可以嵌套在else部分,也可以嵌套在if部分,如
if(!string.IsNullOrEmpty(Box))
{
if(Box==“12345“) txt=“密码正确<br/>“;
}
else
{
txt=“密码不正确<br/>“;
}
}
注意!string.IsNullOrEmpty(Box)这里有个!号,忘记是什么意思了吧?我来告诉你,它是把表达式的bool值取反,也就是Box不为空的话,那么条件就成立。
当然,只要你喜欢的话,if语句可以嵌套无限次。好了,你可以在程序中验证它的用法。如果要判断多个结果的话,那么就得不断的if。这时我们可以使用switch语句。
switch(Box)
{
case “11111“:
{
txt=“你输入的是11111“;
break;
}
case “54321“:
{
txt=“你输入的是54321“;
break;
}
case “12345“:
{
txt=“密码正确“;
break;
}
default:
{
txt=“不在switch语句的范围内“;
return;
}
}
不难看出,switch()里的是变量,而case后面就是我们要判断的其中一个,如果是,那么执行对应{}号内的代码。第一个是赋值语句,而第二个break;也是一个完整的语句,它的作用是跳出switch这个结构体,default语句相当于if语句的else部分,都不难理解,里面的return;则用于结束包含它的函数体,也就是说,如果执行了return;语句,那么Page_Load()就结束了。当然你也可以用break;来跳出switch语句。return;语句也可以用于返回方法函数的值,即之前我提过的返回值,如果有机会的话,讲到类和方法就会经常看到它。
这节课的内容不多,不过你必须多些去练习它的各种变化,不仅是条件语句本身,程序本来就是处理各种数据的变化,从这课开始,你必须懂得如何去修改别人的程序,以及学会调试程序。C#程序是非常严格的,比如你写漏了一个;号,都不会通过编译。正是因为这样,我们才能让程序在写出来之后运行得更好,希望,你从此无论是学习,还是做人,都要养成这种严谨的作风。
good 32

发表评论

文明评论,重在参与

暂无评论!
雷军主讲北京车展发布会!SU7 04-24
互联网汽车是什么?有什么优势呢 04-20
从“中国制造”走向“中国智造” 04-20
中国接入互联网30周年,马化腾 04-20
中国互联网30周年发展座谈会在 04-20
用著作权法来保护软件是否真的有 07-28
杀毒软件:只在搞娱乐,从未杀过 07-28
小谈高通反垄断 07-28
印度将推出百元智能机 山寨厂商 07-28
高通垄断之痛:不是国产手机大而 07-28
一张图读懂阿里巴巴眼花缭乱资本 07-28
滴滴打车副总裁张晶离职 高层换 07-28
返回Net教程-返回首页
AD