首页 > 编程 > .NET > 正文

Asp.net中与codePage=936有关的css失效等奇怪问题的解决办法

2024-07-10 12:55:59
字体:
来源:转载
供稿:网友
,欢迎访问网页设计爱好者web开发。最近手头有个简单的项目,比平时写的要简单很多,但是却很不顺利,出现了好多奇怪的问题, 比如今天就遇到一个奇怪的问题,这里我讲一下解决全过程.
        客户要求,在dropdownlist中选择第二项时,有一个textbox要不可用,本来这种问题是很简单的,将dropdownlist的autopostback属性设置为"true",然后在dropdownlist的selectedindexchanged事件里写一下代码:

    if(ddlframe.selectedindex == 0) //如果选中的是第一项
   {
    txtframeid.enabled = true;
   }
   else
   {
    txtframeid.text = "";
    txtframeid.enabled = false;
   }

       如果是平时,这样子就解决问题了,可是今天就出现奇怪的问题,无论我怎么选择dropdownlist,它都在刷新后选中第一项,怎么也选不中第二项,我一开始以为是dropdownlist的enableviewstate属性被我设成false了,结果发现该属性值为true,这就奇怪了,怎么会选不中第二项呢?
        于是我把以前写的正常页面用记事本打开,来对比一下两个页面有什么区别,发现了有问题的页面顶部有一句话可疑:

        <%@ page language="c#" codebehind="bookinfo.aspx.cs" autoeventwireup="false" inherits="webs.bookinfo" codepage="936"%>

        大家一定发现了,在最后有一句:codepage="936",这是什么东西?查了一下资料,找到了这个结论:

<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>utf-8

        原来codepage="936"表示的是简体中文,于是我将它删除,发现dropdownlist就能选中第二项了,,可是新问题又出来了:css好像失效了,页面变得很乱.于是我切换到vs2003,在页面属性中,将页面的字符集设置为gb2312,保存后发现页面又正常了,然后那个下拉菜单又怎么选都停在第一项上,我突然想起来,web.config文件里也有个语言设置的,于是我将
<globalization
            requestencoding="gb2312"
            responseencoding="gb2312"
   />
这两个都设置成了gb2312,保存后,发现页面正常了,下拉菜单也能选中第二项了,问题解决了,哈哈!开心!
    


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表