分享
 
 
 

C#开发WAP程序

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

平时下班等女朋友总是要等很长时间,想看书又没有带,只有玩手机游戏;GPRS上网,好象很多内容都是要付费的,就只有下载铃声,什么图片的,没劲!最好能用手机看看小说

,网络上好象没有免费的WAP小说,办公室的小妹妹也想用手机看小说,看来只有自己做一个了。

都说JAVA是开发WAP的利器,不过WAP需要这个“码”转到那个“码”,真是麻烦,算了,看一下能不能用C#做一个WAP小站。

想来也很简单的,WAP就是用UTF8编码嘛,好象还有什么WML之类的,WML在网上查查资料,就和XML差不多,平时用XML也蛮多的,WML也就简单了,C#直接可以设RESPONSE的编码的,看来有戏了,先写一个“Hello 老婆“吧,

//设置ContentType类型

Response.ContentType="text/vnd.wap.wml";

//设置编码

Response.ContentEncoding=System.Text.Encoding.UTF8;

//以下是根据WML协议写的内容部份

WapContent="<?xml version=\"1.0\" encoding=\"UTF8\"?>\r\n";

WapContent+="<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"/r/n'http://www.wapforum.org/DTD/wml_1.1.xml"><wml>rn";

WapContent+="\r\n";

WapContent+="<card id=\"hello\">\r\n";

WapContent+=" <p>hello老婆 </p>\r\n";

WapContent+="</card>\r\n";

WapContent+="\r\n";

WapContent+="</wml>\r\n";

WapContent+="\r\n";

Response.Write(WapContent);

用手机试一下,OK

现在写小说的WAP程序。

先从网上下一篇小说,存在目录下,1.txt

不过小说太大了,必须先要有一个目录,按2K分页吧,好家伙,有200页,算了,来一个直接选页数的GO吧:

WapContent+=" <input name=\"PAGENUM\" size=\"3\" maxlength=\"10\" type=\"text\" format=\"*N\" emptyok=\"true\"/>";

WapContent+="<anchor title=\"login\">\n";

WapContent+="<go href=\"wap.aspx\" method=\"get\">\n";

WapContent+="<postfield name=\"page\" value=\"$PAGENUM\"/>\n";

WapContent+="</go>就看这页!<br/>\n";

WapContent+="</anchor>\n";

所有的代码:

private void Page_Load(object sender, System.EventArgs e)

{

string WapContent;

string mC;

//在调试时用GB2312模拟器

Response.ContentType="text/vnd.wap.wml";

// Response.ContentType="text/vnd.wap.wml;charset=UTF-8";

Response.ContentEncoding=System.Text.Encoding.UTF8;// Unicode ;// "UTF8";

// Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");

int n=0;

if(Request["Page"]==null)

{

//显示目录

WapContent="<?xml version=\"1.0\" encoding=\"UTF8\"?>\r\n";

// WapContent="<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n";

WapContent+="<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"/r/n'http://www.wapforum.org/DTD/wml_1.1.xml"><wml>rn";

WapContent+="\r\n";

System.IO.FileInfo oFM=new System.IO.FileInfo(Request.PhysicalPath);

System.IO.StreamReader oReaderD=new System.IO.StreamReader(oFM.DirectoryName +"\\"+ "1.txt",System.Text.Encoding.Default);

//每次读3000字

mC=oReaderD.ReadToEnd() ;

oReaderD.Close();

WapContent+="<card id=\"lists"+n.ToString()+"\">\r\n";

int k=mC.Length/3000;

WapContent+=" <p>目录</p>\r\n";

WapContent+=" <p>共:"+k.ToString()+"页</p>\r\n";

WapContent+=" <input name=\"SID\" size=\"3\" maxlength=\"10\" type=\"text\" format=\"*N\" emptyok=\"true\"/>";

WapContent+="<anchor title=\"login\">\n";

WapContent+="<go href=\"wap.aspx\" method=\"get\">\n";

WapContent+="<postfield name=\"page\" value=\"$SID\"/>\n";

WapContent+="</go>就看这页!<br/>\n";

WapContent+="</anchor>\n";

WapContent+="<onevent type=\"onenterbackward\">\r\n";

WapContent+=" <prev/>\r\n";

WapContent+=" </onevent>\r\n";

WapContent+="</card>\r\n";

WapContent+="\r\n";

WapContent+="</wml>\r\n";

WapContent+="\r\n";

Response.Write(WapContent);

return;

}

else

n=System.Convert.ToInt32(Request["Page"]);

WapContent="<?xml version=\"1.0\"?>\r\n";

WapContent+="<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"/r/n'http://www.wapforum.org/DTD/wml_1.1.xml"><wml>rn";

WapContent+="\r\n";

System.IO.FileInfo oF=new System.IO.FileInfo(Request.PhysicalPath);

System.IO.StreamReader oReader=new System.IO.StreamReader(oF.DirectoryName +"\\"+ "1.txt",System.Text.Encoding.Default);

//每次讯读3000字

mC=oReader.ReadToEnd() ;

oReader.Close();

if(mC.Length>4000)

{

mC=mC.Substring((n)*3000,3000);

mC=mC.Replace("\r\n","<BR/>");

ArtMore=true;

}

//每屏3000字

WapContent+="<card id=\"lists"+n.ToString()+"\">\r\n";

WapContent+=" <do type=\"accept\" label=\""+(n-1).ToString()+"\">\r\n";

WapContent+=" <go href=\"wap.aspx?Page="+(n-1).ToString()+"\"/>\r\n";

WapContent+=" </do>\r\n";

WapContent+="<onevent type=\"onenterbackward\">\r\n";

WapContent+=" <prev/>\r\n";

WapContent+=" </onevent>\r\n";

WapContent+=" <p>\r\n";

WapContent+=n.ToString()+"P";

WapContent+=mC;

WapContent+=" </p>\r\n";

WapContent+=" <do type=\"accept\" label=\"下一页\">\r\n";

WapContent+=" <go href=\"wap.aspx?Page="+(n+1).ToString()+"\"/>\r\n";

WapContent+=" </do>\n";

//选取页面

WapContent+=" <input name=\"SID\" size=\"3\" maxlength=\"10\" type=\"text\" format=\"*N\" emptyok=\"true\"/>";

WapContent+="<anchor title=\"login\">\n";

WapContent+="<go href=\"wap.aspx\" method=\"get\">\n";

WapContent+="<postfield name=\"page\" value=\"$SID\"/>\n";

WapContent+="</go>就看这页!<br/>\n";

WapContent+="</anchor>\n";

WapContent+="</card>\r\n";

WapContent+="\r\n";

WapContent+="</wml>\r\n";

WapContent+="\r\n";

Response.Write(WapContent);

}

拿起手机,www.tjkx.com/wap.aspx,试一下,爽!!!

用手机调试太麻烦,下载一个WinWap Pro3.1在这里面调试。

工具齐备了,看来C#真好,写个小程序就这样简单

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有