Load....
您的位置:下载首页 » 技术文章
GridView中利用隐藏的TemplateFied来访问数据
2010/8/31 9:02:42 | 来源:众智源码网 | 浏览:次阅读
在上一个学习随笔中我们可以利用DataKeyNames和DataKeys来进行GridView主键列的数据访问, 在后来试验中,我发现我们可以利用TemplateField来实现其他的数据访问.
  
  <asp:TemplateField Visible="False">
   <ItemTemplate>
   <asp:Literal id="litUserName" runat="Server" Text='<%#Eval("UserName")%>'/>
   </ItemTemplate>
  </asp:TemplateField>
  
  //后台实现
  
  String userName = ((Literal)GridView1.SelectedRow.FindControl("litUserName")).Text;
   GridView的AutoGenerateSelectButton属性可以直接使表格实现选择, 如果不想多增加一列选择列, 我们可以利用TemplateField实现GridView的选择.
  
  ASP.NET代码如下:
  
  <asp:BoundField DataField="ObjectID" HeaderText="ID"/>
  <asp:TemplateField>
   <HeaderTemplate>
   Name
   </HeaderTemplate>
   <ItemTemplate>
   <asp:LinkButton id="lbName" runat="Server" CommandName="Select">
   <%#Eval("Name")%>
   </asp:LinkButton>
   </ItemTemplate>
  </asp:TemplateField>
  <asp:BoundField DataField="Status" HeaderText="Status"/>
  同时要给GridView增加两个事件处理RowCreated, RowCommand
  //RowCreated事件处理
  void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
  {
   if (e.Row.RowType == DataControlRowType.DataRow)
   { ((LinkButton)e.Row.FindControl("lbName")).CommandArgument = e.Row.RowIndex.ToString();
   }
  }
  //RowCommand事件处理
  void GridView1_RowCommand(object source, System.Web.UI.WebControls.GridViewCommandEventArgs e)
  {
   GridView1.SelectedIndex = int.Parse(e.CommandArgument.ToString());
  }
  
  这样在点击名称时就可以同时进行选择,不必再利用选择列.



 上一篇文章:.NET网页乱码问题 解决.Net乱码问题       下一篇文章:.Net的Cache缓存应用
   (合作)  [email protected]
© CopyRight 2009-2010, PK63.NET, Inc.All Rights Reserved.
网站备案号: 版权声明 
如何获得资源分  下载帮助  联系我们