2013-03-12 40 views
-1

我正在我的asp.net網頁(彈出)從存儲過程調用填充中繼器。我有一個專欄,我需要根據這些值動態創建超鏈接,並將查詢返回到我的原始Web表單。然而,我遇到的麻煩是,當我點擊鏈接時,我還需要檢索一些其他數據並將這些數據插入到視圖狀態中。建立超鏈接動態但需要執行另一個動作

我正在調用的「GetListOfValues」函數顯然不符合我編碼的方式。有沒有辦法做到這一點,甚至可以做得比我試圖做得更好?

這裏是我的例子:

Default.aspx的

<asp:Repeater ID="rptReport" runat="server"> 
     <HeaderTemplate> 
      <table> 
       <tr> 
        <td>Name</td> 
        <td>ID</td> 
        <td>Value1</td> 
        <td>Value2</td> 
       </tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
       <tr> 
        <td><%# DataBinder.Eval(Container.DataItem,"Name") %></td> 
        <td><%# DataBinder.Eval(Container.DataItem,"ID") %></td> 
        <td><%# DataBinder.Eval(Container.DataItem,"Value1") %></td> 
        <td><%# GetValueTwoLink(Eval("Name"),Eval("Value2") %></td> 
       </tr> 
     </ItemTemplate> 
     <FooterTemplate> 
       <tr> 
        <%--This area holds totals for columns--%> 
       </tr> 
      </table> 
     </FooterTemplate> 
    </asp:Repeater> 

Default.aspx.cs

protected string GetValueTwoLink(object name, object value2) 
    { 
     ViewState["ListOfValues"] = datalayer.GetListOfValues(name, value2); 

     return string.Format(
      "<a href=\"#\" onlick=\"window.opener.ViewValues('{0}')\">{1}</a>", 
      name, 
      Convert.ToInt32(value2).ToString("d")); 

    } 

任何幫助,將不勝感激!

回答

2

並不完全知道你正在嘗試與的onclick做...但你可以做到這一點的代碼前面:

<ItemTemplate> 
    <tr> 
     <td><%# Eval("Name") %></td> 
     <td><%# Eval("ID") %></td> 
     <td><%# Eval("Value1") %></td> 
     <td> 
      <a href="#" 
       onclick="<%# String.Format("window.opener.ViewValues('{0}')", DataBinder.Eval(Container.DataItem,"Name")) %>"> 
       <%# Convert.ToInt32(DataBinder.Eval(Container.DataItem, "Value2")).ToString("d")%> 
      </a> 
     </td> 
    </tr> 
</ItemTemplate> 

而且,正如你看到的,你可以只使用

<%# Eval("Name") %> 

代替

<%# DataBinder.Eval(Container.DataItem,"Name") %> 

只顯示數據。當您需要進行一些操作時,您可以使用DataBinder.Eval,如第4個<td>

+0

我當時遇到的問題是在構建超鏈接時設置ViewState的值,但我想我已經想出了這個部分。你所展示的絕對比我所做的更清潔,所以我會使用它。非常感謝您的幫助! – LDWisdom 2013-03-15 00:54:27