在我们网站FOR WAP版的某个页面上放了两个LinkButton,结果用手机自带的WAP浏览器看的时候,提示 通信协议不支持。
改成 Button 就可以了。
ImageButton的话,点击不会报错,页面虽然刷新,但没有执行相应的事件。不过页面确实是有提交的,只是没有跟ImageButton的事件挂钩。可以在Page_Load里查出是哪个控件触发了提交,如果发现是这个ImageButton的话,就执行它的事件。关键是怎么找出是谁触发了提交。
查找代码如下:
string GetPostBackControlName()
{
Control control = null;
string ctrlname = Page.Request.Params["__EVENTTARGET"];
if (ctrlname != null && ctrlname != String.Empty)
{
control = Page.FindControl(ctrlname);
}
else
{
Control c;
foreach (string ctl in Page.Request.Form)
{
if (ctl.EndsWith(".x") || ctl.EndsWith(".y"))
{
c = Page.FindControl(ctl.Substring(0, ctl.Length - 2));
}
else
{
c = Page.FindControl(ctl);
}
if (c is System.Web.UI.WebControls.Button ||
c is System.Web.UI.WebControls.ImageButton)
{
control = c;
break;
}
}
}
if (control != null)
return control.ID;
else
return string.Empty;
}