http://blog.csdn.net/sgear/archive/2008/04/07/2257685.aspx
1.此页不支持指定的显示模式。请确保已启用个性化设置并且此页上存在相应的区域 .
这个问题很奇怪,我很纳闷,cs代码无问题,webconfig里面也写了<personalization defaultProvider="AspNetSqlPersonalizationProvider">,那么为什么报错?结果再我拖了相关的CatalogZone和EditorZone后解决....页面上没有CatalogZone和EditorZone,是不可以webPartManager1.DisplayMode == WebPartManager.CatalogDisplayMode这样改模式的,没有相关的zone区域,只能改成DesignDisplayMode这个模式.其它的模式就出错.
2.用户控件不显示的问题.
设计界面可以正常看到,ie就看不到了.后来发现,原来是数据控件的问题.像FormView这样的数据控件,如果数据库里一条记录都没有,就不显示数据,连<ItemTemplate>中文本都不显示...这个问题折腾我半天,我在<ItemTemplate>写了些文本,我想,绑定没错,就是数据库没数据,但这是文本,又不从数据库读,结果我纳闷了半天...
3.webzone里webpart的高宽问题.
这个问题恐怕得我能够很好的掌握自定义控件才能解决了.问题描述:在同一个webzone里,拖个日历控件,再随便拖个用户控件,日历控件在外观编辑下可以改变高宽,撑大webzone,用户控件却不能,这里产生的是2个问题,一个是怎样让用户控件能改变高和宽,另一个是webpart究竟怎么回事(随便拖个webzone区域,然后拖个日历控件,当日历控件改变大小时候,表面上没有问题,但是,回vs2005,把webzone区域手动拖大一些,再到IE里编辑日历控件,把日历外观的高宽设置很小,结果...)
4.此页当前禁用指定的显示模式。请确保为当前用户启用了个性化设置。
参数名: value
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 此页当前禁用指定的显示模式。请确保为当前用户启用了个性化设置。
参数名: value
搜索到的解决方法:
(一)先把web.config文件改成如下:
<connectionStrings>
<clear/>
<add name="LocalSqlServer" connectionString="data source=192.168.0.200;database=aspnetdb;user id=sa;password=manager"/>
</connectionStrings>
<authentication mode="Forms">
<forms name="auth" loginUrl="Default.aspx" timeout="30" defaultUrl="www/MainPage.aspx"></forms>
</authentication>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<webParts enableExport="true">
<personalization defaultProvider="AspNetSqlPersonalizationProvider">
</personalization>
</webParts>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" applicationName="/"/>
</providers>
</membership>
(二)在登录页的登录按钮事件中加上如下代码:
FormsAuthentication.SetAuthCookie(Session["username"].ToString(), true);
if (curUser.Username == "管理员")
Response.Redirect("www/center/manage.htm");
else
{
Response.Redirect("www/MainPage.aspx");
}
我的方法:我把验证模式改为Windows后发现又能正常使用了。于是明白了是membership设置出的问题。
再web.config中加入正确的设置后问题解决。