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/" /"http://www.wapforum.org/DTD/wml_1.1.xml/"><wml>/r/n";
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/" /"http://www.wapforum.org/DTD/wml_1.1.xml/"><wml>/r/n";
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/" /"http://www.wapforum.org/DTD/wml_1.1.xml/"><wml>/r/n";
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);
}
分享到:
相关推荐
唐大仕编著 电子工业出版社 本书主要介绍如何用Java和C#编程...基于C#开发ASP.NET移动控件以及适应不同设备的WAP应用;WebService及移动应用,包括:日程、天气、股票、地图、短信、IP等;其他高级编程技术应用等。
asp.net wap 开发C# 只要会asp.net 查看此源码,半个小时上手wap开发, 制作你自己的wap网站。
1、这是一个微信小程序对接淘宝的淘宝客api自助搜索优惠券领取程序,简单易学,有兴趣的欢迎下载 2、后台采用asp.netMvc框架开发、实现了调用阿里妈妈的淘宝客api接口 ... 5、开发语言为C#.NET MVC+微信小程序
3、后台框架可支持拓展二次开发一套网站,相应的内容管理系统、会员、订单、微信系统、wap等等功能都在后台已经实现 二、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。...
威富通-微信wap(也称H5支付)接口文档和demo代码!
3、后台框架可支持拓展二次开发一套网站,相应的内容管理系统、会员、订单、微信系统、wap等等功能都在后台已经实现 二、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。...
3、后台框架可支持拓展二次开发一套网站,相应的内容管理系统、会员、订单、微信系统、wap等等功能都在后台已经实现 二、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
3、后台框架可支持拓展二次开发一套网站,相应的内容管理系统、会员、订单、微信系统、wap等等功能都在后台已经实现 二、注意事项 1、开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...