如何将GridView中动态生成的单元格值赋值给NavigateUrl实现可点击链接
可以实现,无需固定写死NavigateUrl,以下是两种常用实现方案:
方案1:使用
TemplateField模板列(灵活度最高,推荐) 直接替换原有HyperLinkField为模板列,绑定你已经生成到Column_name字段的动态路径即可,可自定义显示文本、打开方式等属性:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> <Columns> <!-- 其他原有列 --> <asp:TemplateField HeaderText="子页面入口"> <ItemTemplate> <asp:HyperLink ID="lnkSubPage" runat="server" NavigateUrl='<%# Eval("Column_name") %>' Text="查看子页面" Target="_blank"> </asp:HyperLink> <!-- 如需直接把路径作为链接文本,修改Text属性为 <%# Eval("Column_name") %> 即可 --> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
方案2:使用
HyperLinkField原生动态绑定属性 如果不想改动列类型,可直接使用HyperLinkField自带的DataNavigateUrlFields属性绑定存路径的字段,无需给NavigateUrl赋值固定地址:
<asp:HyperLinkField HeaderText="子页面入口" DataNavigateUrlFields="Column_name" DataTextField="Column_name" Target="_blank" />
两种方案均支持你描述的动态相对路径格式,点击后会自动按当前站点路径解析到对应子页面的index.aspx,无需额外做路径转换。
内容的提问来源于stack exchange,提问作者Eninede
相关产品推荐
相关产品推荐

