搜索页面———心得
这个寒假做了工作室派给我的第一个任务——团委网站的搜索页面。做这个搜索页面的大概思路就是从数据库中搜索抽取数据绑定到页面上。由于初学不久还没有很熟悉操作,在完成的过程中出现很多细节问题。那是从网络上书本上很少会提及到的细微问题,只有自己通过实践操作才能发现。正因为这些细微的问题在网络以及书本上都极少提及到(其实我在百度,谷歌和搜狗上搜了很久都没有搜到类似的问题),自然解决方案就得自己想咯。方法是多种多样的,只要你懂得去运用。下面讲讲我遇到的问题:
1.在显示数据时我应用了GridView控件,在控件中我使用了超文本字段HyperLinkField来使每条记录成为超链接。做到这里,我还觉得挺爽的。当我测试的时候却发现有一些记录没有显示出超链接属性。检查代码以及控件的属性的设置后确认没有错误,再调试一次发现没有显示出超链接属性的记录都是因为这些记录的第一个字符都是冒号(隔了一个月不知道有没有记错是不是冒号呢,呵呵)。这时我的第一感觉就是冒号在控件里面有其他特殊的用途,跟HyperLinkField产生冲突之类什么的(似乎有点胡乱猜测呢)。在网上搜索问题的答案,却连问题都搜不到。当时的我可以说是菜鸟一个,当然也不知道这是什么问题呢。呵呵,既然暂时还没有能力解决这个问题,我就偷懒地迂回地回避了这个问题,用DataList控件实现,在每条显示记录上使用a来实现连接。现在想想,用GridView控件中的BoundField来绑定显示字段然后再同样地使用a应该也能够回避这个“冒号”问题的。
2.关于页面内传值问题。在网上随便搜一下都可以找到地址栏传值、Session传值、Cookie传值这些常规的方法。我做搜索页面时想到了在html中会用隐藏输入即:<input type="hidden" />这种方式来传值,这时我就想到了这么一个鬼主意:类似html中的这种隐藏输入,可以在页面中加入一个Label控件,在Label控件中存储需要传递给各个控件的值,然后使控件的文本显示为页面的底色,这样就可以方便地在各个关联控件之间传值了。这个方法虽然用起来挺方便的,不过它应该会带来安全问题。至于怎么不安全法,我也不好说呢………
3.在页面根据需要切换要显示的控件,除了MultiView外,在我的项目里其实也应该适合用panel控件的,但这个方法我还没试过。其实关于同一页面内各个控件之间的传值问题还蛮重要的,以后整理搜索一下资料再做归纳总结。
4.做这个搜索页面还可以调用百度、谷歌的搜索,这样做就更加简单方便了吧,直接调用API就可以实现。不过就用户体验来说就不太好了,用户用起来比较麻烦……</div>
所以说呢,问题跟方法是多种多样的,有时候问题也可以拐个弯来回避的,因为方法不是唯一的嘛。在工作的时候多思考真的会让你学得更多的呢,而且我相信没有学不会的知识呢!