TemplateField为GridView中的模板列,可用于定制显示内容。TemplateField提供了6个不同的模板,用于定制列的指定区域。
模 板 名 | 说 明 |
ItemTemplate | 用于显示数据绑定控件的TemplateField中的一项 |
AlternatingItemTemplate | 用于显示TemplateField的替换项 |
EditItemTemplate | 用于显示编辑模式下的TemplateField项 |
InsertItemTemplate | 用于显示插入模式下的TemplateField项 |
HeaderTemplate | 用于显示TemplateField的标题部分 |
FooterTemplate | 用于显示TemplateField的脚标部分 |
我们在这里使用一个ItemTemplate模板,放入一个超链接HyperLink控件,用来实现超链接。
HyperLink中
Text属性为显示的内容。可以使用参数 <%#Eval("列名") %> 来显示查询出的数据。这里我们要显示 姓名 ,因此使用 <%#Eval("姓名") %>
NavigateUrl属性为链接地址。我们要跳转到页面About,并在链接的参数中附带上鼠标所点击学生的身份证号,用于下一页面的查询。使用一个字符串连接操作,"~/About.aspx?id=" + Eval("身份证号")
也可以点击GridView右侧的小箭头标志,选择“编辑模板”
出现编辑页面
把鼠标移动到ItemTemPlate中的控件列表上,[GV_Column_StudentName]即为刚才添加的HyperLink控件,控制右侧会显示可以进行编辑的小箭头标志,点击会出现 编辑DataBindings 选项
进入编辑,即可对各项绑定属性进行设置
前台Html代码:
<asp:GridView ID="GVMoreSearch" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="姓名">
<ItemTemplate>
<asp:HyperLink ID="GV_Column_StudentName" runat="server" Text='<%#Eval("姓名") %>' NavigateUrl='<%#"~/About.aspx?id=" + Eval("身份证号") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="身份证号">
<ItemTemplate>
<asp:Label ID="GV_Column_StudentID" runat="server" Text='<%#Eval("身份证号").ToString().Substring(0,6)+ "********" + Eval("身份证号").ToString().Substring (Eval("身份证号").ToString().Length - 4)%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="年级" HeaderText="年级" />
<asp:BoundField DataField="春秋" HeaderText="春秋" />
<asp:BoundField DataField="类别" HeaderText="类别" />
<asp:BoundField DataField="院系" HeaderText="院系" />
<asp:BoundField DataField="专业" HeaderText="专业" />
</Columns>
</asp:GridView>
很遗憾,根据提供的参考资料和问题描述,没有给出具体的错误提示或者报错信息,无法准确判断出发生了什么错误。建议提供更具体的问题描述和错误提示,以便能够更好的帮助解决问题。