C/S VS B/S 中GridView中列模版Visable 的区别

本文介绍了在ASP.NET中如何通过设置GridView的TemplateField来实现列的隐藏,并且通过客户端和服务器端的处理来保留隐藏数据的方法。这种方法适用于需要在前端不显示某些列但又希望在后台处理这些数据的场景。

以前做SmartClient相当于C/S结构的程序,使用GridView时将某一列隐藏设置其Visalbe为 false即可,今天做GridView时也是用这种思维进行处理的,结果TemplateField 中的ItemTemplate设置为false,客户端此列为空,细想应该是在服务端此列直接没有处理。思考研究使用以下方法,使用层将需隐藏的数据屏敝而PostBack处理时,可以通过反射寻到隐藏数据:

ContractedBlock.gifExpandedBlockStart.gifCode
<div>
    
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="fld_Name"
         EmptyDataText
="没有可显示的数据记录。" OnRowDataBound="GridView1_RowDataBound">
        
<Columns>
        
<asp:TemplateField>
        
<ItemTemplate><asp:CheckBox ID="cBoxChecked" runat="server" /></ItemTemplate>
        
</asp:TemplateField>
        
<asp:TemplateField>
        
<ItemTemplate>
        
<div style="visibility:hidden; height:0px; width:0px;">
        
<asp:TextBox id="txtID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"fld_ID")%>'/>
        
<asp:TextBox id="txtChecked" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"fld_IsSelected")%>' />
        
</div>
        
<%#DataBinder.Eval(Container.DataItem,"fld_Name")%>
        
</ItemTemplate>
        
</asp:TemplateField>
        
</Columns>
    
</asp:GridView>
    
<asp:SqlDataSource ID="SDSoureOrderCustom" runat="server" SelectCommand="select * from T_orderschema">
    
</asp:SqlDataSource>
</div>
<div>
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" Text="更新选中" />
</div

 

转载于:https://www.cnblogs.com/yinhaiming/archive/2009/03/26/1422460.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值