自定义config文件的使用

wang_peng 2009-08-14 02:57:53
我用的是asp.net,index.aspx网页中有这样一段内容:
<td><script src="/PWMIS/Website/Script/PSSM_Script.aspx?ParameterType=FolkType&ControlName=txbFolk¶meterValue=<%=info.Folk%>"></script></td>

上面功能是访问index.aspx页时,网页从服务器端的DropDownList.config文件中读取以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<DropDownListItem ID="FolkType" Description="民族">
<TextItem Value="汉族" Name="汉族" Order="1" />
<TextItem Value="蒙古族" Name="蒙古族" Order="2" />
<TextItem Value="回族" Name="回族" Order="3" />
</DropDownListItem>
</configuration>

然后通过程序把内容加载到index.aspx页中形成以下内容
<td><select id="FolkType" name="FolkType"><option value="汉族">汉族</option><option value="蒙古族">蒙古族</option><option value="回族">回族</option></select><td>

问题出现了:系统中有个“后台维护”模块,我想在模块中加个功能,就是在客户端就可以修改这些服务器端的config文件中的内容,这样改配置文件时就不用去服务器那里改了,通常是去机房改(客户的机房是禁地,很少让外人进)。我用StreamWriter类已经实现了在客户端就可以修改这config文件的内容。例改后的内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<TextItem Value="布朗族" Name="布朗族" Order="33" />
<TextItem Value="撒拉族" Name="撒拉族" Order="34" />
<TextItem Value="毛南族" Name="毛南族" Order="35" />
</configuration>
但访问index.aspx页时,加载到index.aspx中的内容并没有改变,还是以下内容:
<td><select id="FolkType" name="FolkType"><option value="汉族">汉族</option><option value="蒙古族">蒙古族</option><option value="回族">回族</option></select><td>
index.aspx中理想的内容应该是
<td><select id="FolkType" name="FolkType">
<option value="布朗族">布朗族</option>
<option value="撒拉族">撒拉族</option>
<option value="毛南族">毛南族</option></select><td>
有人说是缓存问题,可怎么解决呀,请帮帮忙,谢谢!
...全文
244 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
slund 2009-08-14
  • 打赏
  • 举报
回复
关注
Tom0418 2009-08-14
  • 打赏
  • 举报
回复
学习,学习
ykpbdo 2009-08-14
  • 打赏
  • 举报
回复
从sqlserver2005数据库中读取,xml上的信息可添加到自定义的DataSet上,试一下
wuyq11 2009-08-14
  • 打赏
  • 举报
回复
直接读取XML试试
Cache.Add检查看看
wuyq11 2009-08-14
  • 打赏
  • 举报
回复
是否是全局变量或数据库
<%@ OutputCache Duration="120" VaryByParam="none" %>是否使用了
System.Web.Caching.Cache _cache = HttpRuntime.Cache;
IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
List<string> lst = new List<string>();
while (CacheEnum.MoveNext())
{
lst.Add(CacheEnum.Key);
}
foreach (string key in lst)
{
_cache.Remove(key);
}

Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "No-Cache");
xie_yanke 2009-08-14
  • 打赏
  • 举报
回复
会不会是。。。。。
网站把这个XML读到了Application全局变量中了? 你虽然改了XML,但没重写Application相关变量,导致读的还是变量中的旧内容?

puzhichen 2009-08-14
  • 打赏
  • 举报
回复
学习!
jkx6jf 2009-08-14
  • 打赏
  • 举报
回复
学习……
booxi999 2009-08-14
  • 打赏
  • 举报
回复
<td> <script src="/PWMIS/Website/Script/PSSM_Script.aspx?ParameterType=FolkType&ControlName=txbFolk¶meterValue= <%=info.Folk%>
&id=<%= new Random().Next(1, 100000) %>"> </script> </td>
wang_peng 2009-08-14
  • 打赏
  • 举报
回复
谢谢大家!
要疯掉了!
都试了,问题依旧!
Jinglecat 2009-08-14
  • 打赏
  • 举报
回复
你每次都是重新读的这个 config 文件嘛?

还是有什么静态变量存了这个 config 的内容?如果是,保存完 config 之后,清空这个变量,下次重新读

Lovely_baby 2009-08-14
  • 打赏
  • 举报
回复
清空浏览器缓存 试试
flyerwing 2009-08-14
  • 打赏
  • 举报
回复
jf!
IHandler 2009-08-14
  • 打赏
  • 举报
回复
1 确认修改的是否是目标文件,确定是否修改成功
2 绑定数据在Page_Load中的if(!IsPostBack){}
3 页面中不要设置<%@ OutputCache Duration=""......
4 清空浏览器缓存

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧