c#
  • asp.net
  • session
  • gridview
  • eval
  • 2012-11-11 29 views 0 likes 
    0

    我面臨以下問題行設置的.aspx會議:如何根據

    ,當我按我的要求,這樣的設置我在我的aspx會議:

    <Columns> 
    <asp:TemplateField ItemStyle-Width="10px"> 
    <ItemTemplate> 
    <a id="btnShowPopup5" runat="server" class="thickbox" href='<%#"PopUp.aspx?AR=2"+"&TBiframe=true&height=530&width=750"%>' 
    <asp:Image ID="Image23" runat="server" ToolTip="Back" ImageUrl="Images/cross.png" /></a> 
    <asp:HiddenField ID="HDN_TaskCode" Value='<%# Session["s_TaskCode"] = DataBinder.Eval(Container.DataItem, "TaskCode") %>' 
    runat="server" /> 
    

    我注意到:Session["s_TaskCode"]始終與gridview中的第一行任務代碼值設置!

    這不是我想要的。

    我想根據行設置我的會話。

    說我的GridView控件有兩行:

    • 第一task_code值爲7
    • 第二task_code值是10

    我想與按照正確的值設置會話超級鏈接我點擊。

    像數據鍵。

    注意:我想在.aspx中設置會話而不是.cs。

    回答

    2

    在代碼中只使用一個會話變量(Session["s_TaskCode"])。所以,你怎麼能保留它的多個值。它將始終包含最後寫入的值。

    要在會話存儲逐行值,你必須做一些事情,如:

    Session["s_TaskCode" + rowIndex]

    這裏和rowIndex是<%#Container.DataItemIndex%>

    所以,你可以像使用:<%# Session["s_TaskCode" + Container.DataItemIndex] %>

    編輯:

    相反會議,你爲什麼不通過TaskCode的價值在「btnShowPopup5」 href網址查詢字符串參數:用這種方式

    href='<%#"PopUp.aspx?AR=2"+"&TBiframe=true&height=530&width=750&" + DataBinder.Eval(Container.DataItem, "TaskCode") %>' 
    
    +0

    然後我將與第一行值也加上了行索引會話! –

    +0

    是的,但您可以隨時檢查rowIndex = 0,然後使用Session [「s_TaskCode」]。 –

    +0

    另外我得到編譯錯誤'名字'rowIndex'在當前上下文中不存在' –

    相關問題