C#開發WAP程式)

來源:互聯網
上載者:User
  
想來也很簡單的,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 looky</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); 


拿起手機,www.tjkx.com/wap.aspx,試一下,爽!!! 
用手機調試太麻煩,下載一個WinWap Pro3.1在這裡面調試。 
工具齊備了,看來C#真好,寫個小程式就這樣簡單

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.