﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-yezizhe</title><link>http://www.cnblogs.com/yezizhe/</link><description>很多事情不是我们做不到，只是我们以为自己做不到而已，勇敢的去尝试，总会有所收获的...</description><language>zh-cn</language><lastBuildDate>Wed, 23 Jul 2008 21:48:11 GMT</lastBuildDate><pubDate>Wed, 23 Jul 2008 21:48:11 GMT</pubDate><ttl>60</ttl><item><title>最近比较烦~</title><link>http://www.cnblogs.com/yezizhe/archive/2008/04/07/1140979.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Mon, 07 Apr 2008 13:00:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2008/04/07/1140979.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1140979.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2008/04/07/1140979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1140979.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1140979.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-family: 宋体">最近一段时间好像没做什么事情，也没学到什么东西。之前有个网站在做的，后来没有实质性的进展就放下了。广东省程序设计大赛就快开始了，本来想把精力放在这里，毕竟去年暑假也一个人留下来学习算法，那段时间真的不容易啊，整天就躺在床上，脑筋一直在转弯，不过收获也很大，对一般算法还是有所了解了。本来很想通过努力在这次比赛取得好点的成绩的，现在又矛盾了。一个是现在复习起来其实还是很吃力的，学习环境也不是特别好。其次是在学校真的很难找到学习这个的人。毕竟比赛是三人的。我在</span>POJ<span style="font-family: 宋体">做过一些题目，内容涉及的范围之广，绝对不是一个人可以掌握的。想来想去，既然比赛那边不会有什么成绩，还是把时间放在</span>.NET<span style="font-family: 宋体">上吧。开始学习</span>css<span style="font-family: 宋体">和</span>js<span style="font-family: 宋体">吧，以前老是觉得</span>css<span style="font-family: 宋体">是美工学习的，</span>js<span style="font-family: 宋体">是做客户端才要学习的，但是实际自己在做一些东西的时候，不懂</span>css<span style="font-family: 宋体">很麻烦，另外就是很多用服务端很难实现的功能用</span>js<span style="font-family: 宋体">就很方便实现了，而且</span>ajax<span style="font-family: 宋体">也挺流行的。所以准备先学好</span>jQuery<span style="font-family: 宋体">，今天看了一点，挺好玩的，客户端开发其实很有趣啊</span>~~<span style="font-family: 宋体">努力吧</span>~</p>
 <img src ="http://www.cnblogs.com/yezizhe/aggbug/1140979.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41264/" target="_blank">[新闻]马云致信阿里巴巴全体员工号召准备过冬</a>]]></description></item><item><title>利用反射读写属性，动态关联数据库</title><link>http://www.cnblogs.com/yezizhe/archive/2008/03/24/1119577.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Mon, 24 Mar 2008 07:21:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2008/03/24/1119577.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1119577.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2008/03/24/1119577.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1119577.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1119577.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="font-family: 宋体">最近在要在网站中做个调查表的用户控件，也就是一些单选题的集合，然后用户可以投票。</span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最开始为了方便，直接就在数据库将其选项默认最多为</span><span lang="EN-US">4</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个，下面是对应的实体层的代码（只是简单的与数据库对应）。</span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></span><span lang="EN-US"><o:p></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_132732" onclick="this.style.display='none'; Code_Closed_Text_132732.style.display='none'; Code_Open_Image_132732.style.display='inline'; Code_Open_Text_132732.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_132732" style="display: none" onclick="this.style.display='none'; Code_Open_Text_132732.style.display='none'; Code_Closed_Image_132732.style.display='inline'; Code_Closed_Text_132732.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_132732" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">SurveyData实体层</span><span id="Code_Open_Text_132732" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;Model<br />
<img id="Codehighlighter1_16_401_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_16_401_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_16_401_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_16_401_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_16_401_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_16_401_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_16_401_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_16_401_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_16_401_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_16_401_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SurveyData<br />
<img id="Codehighlighter1_50_399_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_50_399_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_50_399_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_50_399_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_50_399_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_50_399_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_50_399_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_50_399_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_50_399_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_50_399_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_id;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_count1;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">被选择的次数</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_count2;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_count3;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_count4;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;_item1;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">选项文本</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;_item2;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;_item3;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;_item4;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;_title;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">标题描述<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&#8230;&#8230;读写属性&#8230;.</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></o:p></span>&nbsp;</p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后在</span><span lang="EN-US">UI</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层根据判断每个字段是否为空，非空则加入</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RadioButtonList</span><span style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">列表。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_132838" onclick="this.style.display='none'; Code_Closed_Text_132838.style.display='none'; Code_Open_Image_132838.style.display='inline'; Code_Open_Text_132838.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_132838" style="display: none" onclick="this.style.display='none'; Code_Open_Text_132838.style.display='none'; Code_Closed_Image_132838.style.display='inline'; Code_Closed_Text_132838.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_132838" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">绑定RadioButtonList数据</span><span id="Code_Open_Text_132838" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;BindData()<br />
<img id="Codehighlighter1_32_505_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_505_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_32_505_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_505_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_32_505_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_505_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_32_505_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_505_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_32_505_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_32_505_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Model.SurveyData&nbsp;model&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BLL.SurveyBLL().GetModel(SurveyID);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item1&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item2&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item3&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item4&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></o:p></span>&nbsp;</p>
<p class="MsoNormal"><span style="font-family: 宋体"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt">在提交按钮的点击事情也要进行类似判断，根据<span lang="EN-US">RadioButtonList</span>的选择更新数据库。</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体">这样做的话，可以完成功能，但是页面中耦合性太大。假使现在想把选项增加到<span lang="EN-US">6</span>个，那么就要从数据库开始修改，最后要修改到<span lang="EN-US">UI</span>层，在<span lang="EN-US">UI</span>层中添加<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></span></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_132911" onclick="this.style.display='none'; Code_Closed_Text_132911.style.display='none'; Code_Open_Image_132911.style.display='inline'; Code_Open_Text_132911.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_132911" style="display: none" onclick="this.style.display='none'; Code_Open_Text_132911.style.display='none'; Code_Closed_Image_132911.style.display='inline'; Code_Closed_Text_132911.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_132911" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">需要添加的语句</span><span id="Code_Open_Text_132911" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item5&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(model.Item6&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">)<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str.ToString());<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
<p class="MsoNormal">这样的语句。这样三层就没有多大意义了。我们应该想想办法降低她们的耦合性。<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体">首先，我们可以在数据库<span lang="EN-US">Survey</span>表中添加多个字段<span lang="EN-US">[ItemCount],</span>来表示选择项的总数，而且在<span lang="EN-US">UI</span>层中可以根据这个字段自动的读取相应的<span lang="EN-US">[Item]</span>和<span lang="EN-US">[Count]</span>字段。我们发现，选择项的字段设置是有规律的：<span lang="EN-US">Item1</span>，<span lang="EN-US">Item2</span>，<span lang="EN-US">Item3</span>，<span lang="EN-US">Item4</span>，投票人数字段也是，所以很快的我们想到可以用反射来完成。<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt">下面是修改过的<span lang="EN-US">RadioButtonList</span>数据绑定函数，主要用了反射读取属性<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_132944" onclick="this.style.display='none'; Code_Closed_Text_132944.style.display='none'; Code_Open_Image_132944.style.display='inline'; Code_Open_Text_132944.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_132944" style="display: none" onclick="this.style.display='none'; Code_Open_Text_132944.style.display='none'; Code_Closed_Image_132944.style.display='inline'; Code_Closed_Text_132944.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_132944" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">用反射绑定RadioButtonList1数据</span><span id="Code_Open_Text_132944" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;BindData()<br />
<img id="Codehighlighter1_32_408_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_408_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_32_408_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_408_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_32_408_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_32_408_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_32_408_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_32_408_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_32_408_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_32_408_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Model.SurveyData&nbsp;model&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BLL.SurveyBLL().GetModel(SurveyID);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;num&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;model.ItemCount;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;t&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;model.GetType();<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;num;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_222_402_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_222_402_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_222_402_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_222_402_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_222_402_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_222_402_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_222_402_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_222_402_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_222_402_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_222_402_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;t.GetProperty(</span><span style="color: #800000">"</span><span style="color: #800000">Item</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;i.ToString()).GetValue(model,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">).ToString();<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonList1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(str,&nbsp;i.ToString()));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
<p class="MsoNormal"><br />
接着在<span lang="EN-US">Button1_Click</span>事件中用反射设置属性<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes"></p>
<p class="MsoNormal" style="text-align: left; mso-layout-grid-align: none" align="left"></span></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_133009" onclick="this.style.display='none'; Code_Closed_Text_133009.style.display='none'; Code_Open_Image_133009.style.display='inline'; Code_Open_Text_133009.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_133009" style="display: none" onclick="this.style.display='none'; Code_Open_Text_133009.style.display='none'; Code_Closed_Image_133009.style.display='inline'; Code_Closed_Text_133009.style.display='inline';" height="16" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_133009" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">提交按钮事件</span><span id="Code_Open_Text_133009" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Button1_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br />
<img id="Codehighlighter1_65_731_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_65_731_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_65_731_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_65_731_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_65_731_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_65_731_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_65_731_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_65_731_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_65_731_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_65_731_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Model.SurveyData&nbsp;model&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BLL.SurveyBLL().GetModel(SurveyID);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;t&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;model.GetType();<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;RadioButtonList1.SelectedIndex;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(i&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_250_347_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_250_347_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_250_347_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_250_347_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_250_347_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_250_347_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_250_347_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_250_347_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_250_347_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_250_347_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LTP.Common.MessageBox.Show(</span><span style="color: #0000ff">this</span><span style="color: #000000">.Page,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&nbsp;你没有选择选项</span><span style="color: #800000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;;<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />i</span><span style="color: #000000">++</span><span style="color: #000000">;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">因为RadioButtonList索引从0开始，而例子中选项从Item1开始</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;count&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">.Parse(t.GetProperty(</span><span style="color: #800000">"</span><span style="color: #800000">Count</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;i.ToString()).GetValue(model,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">).ToString());&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读取原来的数值</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count</span><span style="color: #000000">++</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">点击数加1</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.GetProperty(</span><span style="color: #800000">"</span><span style="color: #800000">Count</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;i.ToString()).SetValue(model,&nbsp;count,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BLL.SurveyBLL().Update(model);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">用反射设置属性</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LTP.Common.MessageBox.Show(</span><span style="color: #0000ff">this</span><span style="color: #000000">.Page,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">成功投票</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
<p class="MsoNormal"><br />
到此，我们就利用反射写了一段<span lang="EN-US">UI</span>层的代码，而且跟数据层和逻辑层耦合性不算高。以后修改数据库个数据层等就不需要修改<span lang="EN-US">UI</span>层了，达到了分层的目的。<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体">我也是刚刚开始学习反射，很开心有这样一个我觉得不错的例子用上了。当然，这个例子应该有更好的方法，欢迎大家交流。<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt"><span style="font-family: 宋体">文中用到了<st1:PersonName w:st="on" productid="李天平">李天平</st1:PersonName>老师的类库，大家可以上他<span lang="EN-US">BLOG</span>看看，写的很好，很实用。<span lang="EN-US"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><a href="http://www.cnblogs.com/ltp/archive/2008/03/01/1087455.html">http://www.cnblogs.com/ltp/archive/2008/03/01/1087455.html</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes; mso-bidi-font-size: 10.5pt">最后推荐子阳兄的<span lang="EN-US">BLOG</span>，这里几篇关于反射的文章写的好好，收益匪浅。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><a href="http://www.cnblogs.com/JimmyZhang/category/107410.html">http://www.cnblogs.com/JimmyZhang/category/107410.html</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p>&nbsp;</o:p></span></p>
  <img src ="http://www.cnblogs.com/yezizhe/aggbug/1119577.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41263/" target="_blank">[新闻]comScore 公布 6 月美国 TOP10 社会化网络排名</a>]]></description></item><item><title>在三层中，FormView + ObjectDataSource 取存储过程返回值</title><link>http://www.cnblogs.com/yezizhe/archive/2008/02/18/1071737.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Sun, 17 Feb 2008 19:24:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2008/02/18/1071737.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1071737.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2008/02/18/1071737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1071737.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1071737.html</trackback:ping><description><![CDATA[摘要:  三层架构中，表示层用FormView +ObjectDataSource 添加数据，然后取返回值的实现方法。存储过程Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATEPROCEDURE[dbo].[User_Add]@Titlenvarch&nbsp;&nbsp;<a href='http://www.cnblogs.com/yezizhe/archive/2008/02/18/1071737.html'>阅读全文</a><img src ="http://www.cnblogs.com/yezizhe/aggbug/1071737.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41262/" target="_blank">[新闻]万众期待 iPhone 3G 16GB上市两天破万</a>]]></description></item><item><title>Dataset的使用感觉</title><link>http://www.cnblogs.com/yezizhe/archive/2008/01/17/1042554.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Thu, 17 Jan 2008 02:46:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2008/01/17/1042554.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1042554.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2008/01/17/1042554.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1042554.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1042554.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p><span style="font-family: 宋体">用数据集</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">开发是挺方便的事情，但是一旦遇到需要修改的时候就非常的麻烦，经常会有奇怪的问题。</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">可以看成是一个类的集合，里面有列属性和方法属性。分别可以对应数据表的字段和相应的方法，方法可以是直接写在里面的</span><span style="font-family: Arial">SQL</span><span style="font-family: 宋体">语句或调用存储过程。而且</span><span style="font-family: Arial">SELECT</span><span style="font-family: 宋体">方法返回的数据必须对应</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">的列属性，要不就有错误。这种情况经常发生在对数据库表修改后，却没有对</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">相应的列属性和方法属性进行修改的情况下，会产生<span style="color: red">&#8220;未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。&#8221;</span>的错误。</span></p>
<p><span style="font-family: 宋体">解决方法是修改完数据库表之后一定要对相应的</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">进行修改。这里有两点觉得可以注意的。一个是重新使用</span><span style="font-family: Arial">TableAdapter</span><span style="font-family: 宋体">的&#8220;配置&#8220;功能，让其重新生成全部列。还有就是对存储过程的修改。一般使用</span><span style="font-family: Arial">SELECT</span><span style="font-family: 宋体">的时候都会只</span><span style="font-family: Arial">SELECT</span><span style="font-family: 宋体">出相应的字段，这样可以增加性能。但是我觉得在</span><span style="font-family: Arial">Dataset</span><span style="font-family: 宋体">中，就干脆用</span><span style="font-family: Arial">SELECT * </span><span style="font-family: 宋体">就行了，要不每次修改完数据库都要改相应的</span><span style="font-family: Arial">SELECT </span><span style="font-family: 宋体">方法，特别当你想对一个表增加或减少字段的情况下，就很麻烦了。用了</span><span style="font-family: Arial">Dataset + ObjectDataSource</span><span style="font-family: 宋体">开发一段时间，开始上手是比较容易，但是后期要修改一些东西却非常的麻烦，特别是调试的时候。所以还是按三层架构最原始的方式去开发，维护起来也方便很多。</span></p>
<img src ="http://www.cnblogs.com/yezizhe/aggbug/1042554.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41261/" target="_blank">[新闻]张宝全正式声明中国版HD-DVD涉嫌盗用EVD技术</a>]]></description></item><item><title>SQL2005数据库还原</title><link>http://www.cnblogs.com/yezizhe/archive/2008/01/09/1032422.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Wed, 09 Jan 2008 10:44:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2008/01/09/1032422.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1032422.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2008/01/09/1032422.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1032422.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1032422.html</trackback:ping><description><![CDATA[<p><font face="Verdana">SQL2005中，<br />
还原一个.bak的数据库 <br />
出现这个错误 <br />
&#8220;备份集中的数据库备份XXX与现有数据库XXX不同&#8221; </font><font face="Verdana"><br />
解决方法:只要在&#8220;还原选项&#8221;中，选择&#8220;覆盖现有数据库&#8221;就可以了。</font></p>
<img src ="http://www.cnblogs.com/yezizhe/aggbug/1032422.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41259/" target="_blank">[新闻]百度TV：高效率的“奥运事件眼球捕手”</a>]]></description></item><item><title>第一次使用.net2.0的泛型</title><link>http://www.cnblogs.com/yezizhe/archive/2007/12/18/1005150.html</link><dc:creator>yezizhe</dc:creator><author>yezizhe</author><pubDate>Tue, 18 Dec 2007 15:06:00 GMT</pubDate><guid>http://www.cnblogs.com/yezizhe/archive/2007/12/18/1005150.html</guid><wfw:comment>http://www.cnblogs.com/yezizhe/comments/1005150.html</wfw:comment><comments>http://www.cnblogs.com/yezizhe/archive/2007/12/18/1005150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yezizhe/comments/commentRss/1005150.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yezizhe/services/trackbacks/1005150.html</trackback:ping><description><![CDATA[摘要: .net2.0的新特性---泛型，之前并没有怎么用的概念。今天看到了一段代码，豁然开朗。立刻修改了自己的一些代码。1publicoverridestring[]GetRolesForUser(stringusername)23{45Inttype=AdminsBLL.GetAdminTypeByName(username);67switch(type)89{1011case0:1213if(iss&nbsp;&nbsp;<a href='http://www.cnblogs.com/yezizhe/archive/2007/12/18/1005150.html'>阅读全文</a><img src ="http://www.cnblogs.com/yezizhe/aggbug/1005150.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41260/" target="_blank">[新闻]谷歌启动强大引擎 ８月起全球营销成都</a>]]></description></item></channel></rss>