2011-11-15 29 views
1

我正在開發一個Web應用程序,我有一箇中繼器控件。鏈接按鈕位於中繼器控制器內。當點擊鏈接按鈕時,我希望它重定向到一個頁面,該頁面將成爲該特定用戶(已被點擊)的數據輸入頁面。它必須使用user-id/emplid並預先填充新頁面中的一些字段,並允許其他字段進行數據輸入。中繼器控制中的鏈接按鈕重定向到網格視圖

我question-

  1. 我應該如何重定向到新的數據輸入頁面?我還沒有決定在頁面上。我認爲這將是一個表單頁面或網格視圖,並將是一個單獨的頁面。

代碼:

<asp:LinkButton ID="getDetails" OnCommand="getDetails_cmd" runat="server" 
         CommandArgument='<%#DataBinder.Eval(Container.DataItem,"Emplid")%> 
' Text='<%#DataBinder.Eval(Container.DataItem,"NAME")%>' 
          CommandName="Details"></asp:LinkButton> 
  1. 重定向頁面,我猜,使用commandargument後,我可以得到EMPLID。我通過多個值?說出頁面的鍵?

  2. 我該如何更新頁面中的多個表格?

任何幫助將非常感激。

感謝,

回答

1

您需要處理ItemCommand事件Repeater控制。

<asp:Repeater ID="Repeater1" runat="server" 
     onitemcommand="Repeater1_ItemCommand"> 
    <ItemTemplate> 
     <asp:LinkButton 
      ID="getDetails" 
      runat="server" 
      Text='<%# Eval("NAME") %>' 
      CommandName="cmd" 
      CommandArgument='<%# Eval("Empid") %>' 
      > 
      </asp:LinkButton> 
    </ItemTemplate> 
</asp:Repeater> 

ItemCommand事件的處理程序,

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName == "cmd") 
    { 
     Session["empid"]=e.CommandArgument; 
     Response.Redirect("~/page1.aspx"); 
    } 
} 
+0

謝謝AVD。我試過這個解決方案,它工作。是否有可能在查詢字符串中發送多個值?您能否讓我知道如何更新頁面中的多個表格?我有一個會引用一個包的重複控制器,它是隻讀的。下一節將是一個詳細視圖,但可以更新。 – user728148

1

如果你想直接到一個新的頁面,LinkBut​​ton的可能不是去,因爲它做了回發到相同的形式,通常的方式,一個標準的超鏈接在查詢字符串發送EMPLID會工作。在新頁面中使用Request.Querystring("emplid")從查詢字符串中獲取emplid。至於保存到多個表中,有很多方法可以做到這一點,其中一種方法是將多個數據庫更新調用包裝在一個transactionscope中。

+0

感謝大衛。我會嘗試使用一個標準的超鏈接控件。你能解釋一下你回答同一頁面的含義嗎?對於頁面中的多個表格,我可以將它放在網格視圖/數據列表中嗎?我基本上想要顯示員工的一些數據,並允許用戶輸入其他幾個部分的數據。我正在學習.NET,因此這些簡單的問題。 – user728148

+0

是的,大多數服務器端控件( BlackICE

相關問題