C# gridview中的超链接不工作
我一直在尝试在我的gridview中创建超链接,但我似乎做不到。主要问题是,只需点击超链接,什么也做不到。完全没有。我使用超链接的原因是,当记录显示在我的gridview中时,超链接将允许用户重定向到我的编辑页面以编辑所选记录。My gridview从C# gridview中的超链接不工作,c#,asp.net,sql,gridview,hyperlink,C#,Asp.net,Sql,Gridview,Hyperlink,我一直在尝试在我的gridview中创建超链接,但我似乎做不到。主要问题是,只需点击超链接,什么也做不到。完全没有。我使用超链接的原因是,当记录显示在我的gridview中时,超链接将允许用户重定向到我的编辑页面以编辑所选记录。My gridview从对象数据源获取数据,然后调用数据库中的存储过程以执行查询字符串TxnID是查询字符串中涉及的许多列之一 超链接代码: <asp:TemplateField HeaderText=""> <ItemT
对象数据源
获取数据,然后调用数据库中的存储过程以执行查询字符串TxnID
是查询字符串中涉及的许多列之一
超链接代码:
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="hlEditTxn" NavigateUrl='<% Eval("TxnID", "~/FXTxnEdit.aspx?TxnID={0}") %>'
Text="Edit" runat="server" ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
出于某种原因,这是行不通的。我尝试在gridview中插入一个显示TxnID的标签列,只是为了确保ObjectDataSource是否获得TxnID:
<asp:TemplateField HeaderText="TxnID">
<ItemTemplate>
<asp:Label ID="lblTxnID" runat="server" Text='<%# Eval("TxnID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
它确实得到了TxnID,并且在gridview中显示了TxnID,这很好
对可能出现的问题有什么看法吗?或者还需要做什么或可以做什么才能使超链接正常工作?将链接声明和绑定表达式更改为以下内容:
<asp:HyperLink ID="hlEditTxn" NavigateUrl='<%# "~/FXTxnEdit.aspx?TxnID=" + Eval("TxnID") %>'
Text="Edit" runat="server" ></asp:HyperLink>
给它一个机会,让我知道它去了
利奥,你为什么不试试这个
<asp:HyperLink ID="hlEditTxn" NavigateUrl='<%# string.Format("~/FXTxnEdit.aspx?TxnID={0}",Eval("TxnID"))%>'
Text="Edit" runat="server" ></asp:HyperLink>
哇。经过5个多小时的努力,终于解决了我的大问题
如果你仔细看看我问题中的超链接声明:
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="hlEditTxn" NavigateUrl='<% Eval("TxnID", "~/FXTxnEdit.aspx?TxnID={0}") %>'
Text="Edit" runat="server" ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
您将看到在Eval
之前没有数字符号/哈希(#
)。我完全错过了那个。一旦我在代码中添加了这个小字符
NavigateUrl=''
现在一切都很奇妙。编码是一门学问。有时会让你看起来非常愚蠢,哈哈
顺便说一句,你的解决方案很有效,我试过了
附带问题,#
的作用是什么?什么意思?你说的“超链接不起作用”是什么意思?链接根本没有出现吗?它们是不可点击的吗?他们没有重定向到页面FXTxnEdit.aspx吗?单击超链接根本没有任何作用解决我自己的问题后,我尝试了你的代码。它也有效
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="hlEditTxn" NavigateUrl='<% Eval("TxnID", "~/FXTxnEdit.aspx?TxnID={0}") %>'
Text="Edit" runat="server" ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>