2008年11月18日

GridView数据更新问题

前几天做个用户管理模块时遇到个问题,一直没找到原因,今天调试的时候,一步一步的跟踪时,终于发现了原因。

在这个模块中,我是用GridView控件来绑定数据源,呈现出用户列表Users中的内容的,当时有个问题就是,我每次新添加了用户后,在GridView中看不到这个新添加的用户,只有重新运行程序的时候,才能看到新添加的用户。我一直在思考是什么问题呢?是GridView中的属性设置问题呢还是?今天发现了问题所在,在添加事件代码中,添加一个GridView.DataBind()。这样就可以了。

posted @ 2008-11-18 20:58 哪热 阅读(267) 评论(2) 编辑

Server对象之HtmlEncode和UrlEncode的用法

昨天研究URL的传值问题时,我就在思考HtmlEncodeUrlEncode的用法区别是什么,查了些资料,它们的区别是这样的。(我们接着昨天的例子来描述这个问题,大家可以参看下我的前一篇“URL的传递字符串问题小研究”)。

HtmlEncode 方法对指定的字符串应用 HTML 编码。

语法

Server.HtmlEncode( string )

参数

string

指定要编码的字符串。

1.1示例

string  name = "DK51700中继站";

注:(我们为了简单,去掉了昨天的例子里字符串中的“+”)

 

Code

 

1.2页面源代码中

<form name="form1" method="post" action="Default2.aspx?Name=DK51700%u4e2d%u7ee7%u7ad9" id="form1">

1.3地址栏中

http://localhost:8690/WebSite1/Default2.aspx?Name=DK51700中继站

1.4 HtmlDecode后输出

DK51700中继站

注意 我们看到地址栏中的Name的内容,好像没变化。我们加个HTML的符号呢?

 

2.1示例

string  name = "DK51700中继站<p>";

2.2页面源代码中

<form name="form1" method="post" action="Default2.aspx?Name=DK51700%u4e2d%u7ee7%u7ad9&amp;lt%3bp&amp;gt%3b" id="form1">

2.3地址栏中

http://localhost:8690/WebSite1/Default2.aspx?Name=DK51700中继站&lt;p&gt;

2.4 HtmlDecode后输出

DK51700中继站

们主要对比下两者在地址栏中的不同“&lt;p&gt;” 结果就是把<>HTML表述了。恩,我们还注意到了字符串中的“<p>不见了,为什么?这又是个新问题了。

 

二.UrlEncode方法将使用 URL 编码规则,包括转义字符,应用到指定的字符串。

语法

Server.UrlEncode( string )

参数

string

指定要编码的字符串。

1.1示例

string  name = "DK51700中继站";

1.2页面源代码中

<form name="form1" method="post" action="Default2.aspx?Name=DK51700%u4e2d%u7ee7%u7ad9" id="form1">

1.3地址栏中

http://localhost:8690/WebSite1/Default2.aspx?Name=DK51700%d6%d0%bc%cc%d5%be

1.4 UrlDecode后输出

DK51700中继站

可以看到在地址栏中,字符串已经按照URL的规则编码了。

我们接着在字符串里加个HTML符号,会发生什么事呢?会是件有趣的事。

2.1示例

string  name = "DK51700中继站<p>";

当我点连接时页面直接报错

“从客户端(Name="DK51700中继站<p>")中检测到有潜在危险的 Request.QueryString 值”

为什么了,又是一个问题。

posted @ 2008-11-18 20:55 哪热 阅读(2940) 评论(11) 编辑

URL的传递字符串问题小研究

posted @ 2008-11-18 00:20 哪热 阅读(1279) 评论(11) 编辑

导航

统计

公告