2013-12-13 108 views
1

我一直在嘗試使超連結在我的GridView工作,但我似乎無法。主要的問題是,只需點擊超鏈接沒有什麼。絕對沒有。我的超鏈接的原因是,當我的gridview中顯示記錄時,超鏈接將允許用戶重定向到我的編輯頁面以編輯選定的記錄。我的gridview從ObjectDataSource獲取數據,然後調用我的數據庫中的存儲過程來執行查詢字符串。 TxnID是涉及查詢字符串的許多列之一。超鏈接在GridView超鏈接不工作

代碼:編輯頁面

<asp:TemplateField HeaderText=""> 
       <ItemTemplate> 
        <asp:HyperLink ID="hlEditTxn" NavigateUrl='<% Eval("TxnID", "~/FXTxnEdit.aspx?TxnID={0}") %>' 
         Text="Edit" runat="server" ></asp:HyperLink> 
       </ItemTemplate> 
      </asp:TemplateField> 

代碼:

public partial class FXTxnEdit : System.Web.UI.Page 
{ 
    TransactionHandler txnHnd = null; 
    MainFunctions mf = null; 
    int TransactionID = 0; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!IsPostBack) 
     { 

      string id = Request.QueryString["TxnID"] as string; 

      if (id == null) 
      { 
       Response.Redirect("Default.aspx"); 
      } 

出於某種原因,這是行不通的。我試圖將我的GridView的一個Label列顯示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,這很好。

關於什麼可能是錯誤的任何想法?或者還有什麼需要完成或可以做什麼來使超鏈接工作?

+0

你是什麼意思的「超鏈接不工作」?鏈接是否完全不顯示?他們不可點擊嗎?他們是不是重定向到頁面FXTxnEdit.aspx? – Anchit

+0

點擊這個超鏈接,在解決了我自己的問題之後根本什麼也沒做 – JamesP

回答

1

哇。設法解決我非常大的問題,經過5個小時的friggin XD

,如果你將密切關注超鏈接聲明在我的問題:

<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='<%# Eval("TxnID", "~/FXTxnEdit.aspx?TxnID={0}") %>'

現在一切都可以創造奇蹟。編碼是一個蜜蜂otch。可以讓你看起來非常愚蠢有時候LOL

P.S. @Leo - 你的解決方案順利運作,我試過了。

方面的問題,什麼是#?這是什麼意思?

1

更改鏈接聲明和綁定表達式如下:

<asp:HyperLink ID="hlEditTxn" NavigateUrl='<%# "~/FXTxnEdit.aspx?TxnID=" + Eval("TxnID") %>' 
        Text="Edit" runat="server" ></asp:HyperLink> 

給它一個鏡頭,讓我知道它會

利奧

+0

,我嘗試了你的代碼。它也可以工作 – JamesP

0

你爲什麼不試試這個

<asp:HyperLink ID="hlEditTxn" NavigateUrl='<%# string.Format("~/FXTxnEdit.aspx?TxnID={0}",Eval("TxnID"))%>' 
        Text="Edit" runat="server" ></asp:HyperLink>