今天在项目中,想要将数据库里面循环读取出来的只需显示之用的数据加载在一个空白处就行,刚开始就想到放到Lable里面,在后置代码里面for循环一条条的加载,后发现数据这样就换不了行,就去寻找换行的解决方法,找了好久,都是说Lable1.Text = Lable1.Text + " "之类的,还有str.replace(" ","<br/>")这样的,试了,实现不了自己的要求,重复应用了好几个方法之后,突然想到,既然是数据库读取出来的数据,并且是dataset的数据集,为什么不用gridview控件去显示,虽然只是显示文本之用,可能无需这么麻烦,但是还是能很好的满足我的需 求,并且解决了之前不知道怎样去做的 HyperLink控件来展示文件下载的问题,基本之前困扰的几个问题,像怎样去拼接读取出的数据来展现的问题,都解决了,舒了口气。
还有去关注了下Lable控件和Literal控件的区别,网友说,“Lable和Literal这两个控件是我们非常熟悉的两个控件,都是用作内容呈现用的,但他们之间也有不同之处,分别应用于不同的地方。Lable控件 会将内容呈现在html标签span中,即Lable控件的Text属性的值会包含在<span>标签中。而Literal控件生成的代码则 比较干净,它的Text属性的值将直接显示在页面中,不过Lable也不是一无是处,Lable控件有一个AssociatedControlID,可以将该属性指向一个表单控件的ID,通常为TextBox”。似乎这才真正的去了解下相似控件间的区别。我想着就是自己在技术之路上在起步慢慢去成长了,以前麻木的编代码太久了,这次一个人的小项目,让我真的快速成长。
想在经验和技术都还很贫瘠的时候,一定要加强自己的动手和主动学习的能力,培养思维,然后才能够转换思维去思考问题,在技术路上走得游刃有余。贴上代码:
<asp:GridView ID="gv_content" runat="server" AutoGenerateColumns="false" Width="600px"
OnRowDataBound="gv_content_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Literal ID="lit" runat="server" Text="<%#Container.DataItemIndex+1%>" />
<asp:Literal ID="Literal5" runat="server" Text="、" />
<asp:Literal ID="Literal1" runat="server" Text='<%#Eval("processContent")%>' />
<asp:HyperLink ID="HyperLink2" runat="server" Target="_blank" ForeColor="Blue"></asp:HyperLink>
<asp:Literal ID="Literal2" runat="server" Text="协办人:" />
<asp:Literal ID="Literal3" runat="server" Text='<%#GetRealName(Eval("processPersonId"))%>' />
<asp:Literal ID="Literal4" runat="server" Text='<%#Eval("processTime")%>' />
<asp:HiddenField ID="HidFilePath" runat="server" Value='<%#Eval("processFileInfo") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>