今天,接到一个小Case。制作我们学校的财务查询系统。
今日做了主要部分。主要部分就两页。defulat.aspx和view.aspx。其中default.aspx页中包括权限的验证以及查询日起的起始和终止。view.aspx页则是一个由用户控件title.ascx和一个DataGrid组成的显示数据页。这个页接收来自default.aspx传递来的参数,以供DataGrid显示。
遇到的问题:
- Server.HtmlDecode 和Server.Htmlencode
对于数字而言,Server.Htmlencode没有任何意义。我本想在浏览器之间传递数据时,采用Server.Htmlencode(string)的方式,然后在view.aspx页中,再用Server.HtmlDecode(request(string))。可是我发现,我所传递的数据全是数值型,晕!可想而知,全改回来了。
- 想方设法的保护自己的“知识产权“。
自己写的东西,当然不希望最后成为别人的劳动成果,除了对后台代码进行编译成dll外,我还希望自己的标志能够在该程序上显示(是不是有点虚荣),呵呵,我可不希望,作了半天被别人换了个名字。怎么办呢,简单的html不可能阻止得了人的更改,只能在后台处理了。于是我是这样操作的。
- 在显示自己署名的地方添加一个Label控件,Label控件用于显示自己的署名。你也还可以添加Hyperlink控件,做一个E-mail的链接。
- 添加一个panel控件,将整个html的表格(最外面的)放在这个panel中,可是这样,panel无法居中了,panel没有aline属性。难不倒咱,在这个panel外面在给它讨一个<table>不就行了吗?
- 在后台添加代码如下:
这里的“authen“就是Label的ID,“mailto“是Hyperlink的ID。 - 按上面的办法制作后,如果有人删除了Label或Hyperlink控件,则不会在显示查询页,而是一行警告的话。
- 刚以为大功告成,没想到,再点击查询按钮,不再管用了,就好像重新刷新一样,不会再转到view.aspx了。我将刚加的代码去掉,又恢复正常了。看了,症结就在刚才的代码。
- 反复思考后,我将那段代码,改放在Page_PreRende下,成功!
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=8317