用.Net开发Wap页面是很傻瓜的,几乎不用什么编程语言就可以生成一个漂亮的页面。
可气的是,生成的WML代码往往不是我们想要的,比如要生成一个Input框,.Net会生成
这样的代码<input name="mcsviauup0" format="*N" />,name属性是随机生成的
,type属性
丢失了
。type属性的丢失会造成部分手机不能正常显示,可以通过强制WML输出来解决
在Web.config中加入以下代码即可
<browserCaps>
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<use var="HTTP_USER_AGENT"/>
preferredRenderingType = "wml11"
inputType="keyboard"
supportsInputMode = "false"
</browserCaps> 
解决方法转自WapDotNet
使用用户控件
Step1:新建用户控件WmlOut,并输入如下代码
public abstract class WmlOut :System.Web.UI.UserControl
{
//public string Text = "testtesttest";
public string wmlText;
public string WmlText
{
get
{
return wmlText;
}
set
{
wmlText = value;
}
}
protected override void Render(HtmlTextWriter output)
{
output.Write(wmlText);
}
}Step2:建一页面引用该控件,并在.CS中加入如下代码
protected WmlOut WmlOut1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
WmlOut1.WmlText = "<input name=\"account\" type=\"text\" format=\"*N\"/>";
}
}即可看到输出了一个<input name=\"account\" type=\"text\" format=\"*N\"/>的控件
Finish:OK,到此就结束了。
Tips://注意"之前应加\否则会出错。

浙公网安备 33010602011771号