c#
  • asp.net
  • hiddenfield
  • 2013-05-11 105 views 1 likes 
    1

    列表視圖中的動態綁定的隱藏字段值在我的aspx頁面,我有,獲取代碼隱藏

    <asp:ListView ID="listview1" runat="server" DataSourceID="dtasrc_load"> 
    
         <ItemTemplate> 
          <h4> 
           <asp:Label ID="lbl_titlename" runat="server" Text='<%#Eval("abt_vch_Title") %>'></asp:Label> 
          </h4> 
          <asp:LinkButton runat="server" OnClick="Content_Load" class="btn">Edit</asp:LinkButton> 
          <asp:HiddenField ID="hiddenID" runat="server" Value='<%#Eval("abt_int_ID") %>' /> 
         </ItemTemplate> 
        </asp:ListView> 
    

    我需要的隱藏字段控制訪問該值,這樣我可以傳遞linkbutton click事件中的數據庫值。下面是我到目前爲止的地方。

    protected void Content_Load(object sender, EventArgs e) 
    { 
    
        HiddenField hd = new HiddenField(); 
        HiddenField myhiddenfield = new HiddenField(); 
        myhiddenfield = (HiddenField)listview1.FindControl("hiddenID"); 
        int myID = Convert.ToInt32(myhiddenfield.Value); 
    

    我得到一個運行時錯誤爲「對象未引用到對象的實例」。該值似乎爲空。

    誰能告訴我爲什麼我得到這個?我該怎麼辦?

    回答

    2

    給你的LinkBut​​ton的ID

    <asp:LinkButton runat="server" OnClick="Content_Load" class="btn" 
    id="editlinkbutton">Edit</asp:LinkButton> 
    

    和更改您的代碼此

    protected void Content_Load(object sender, EventArgs e) 
    { 
        LinkButton editlinkbutton = sender as LinkButton; 
        HiddenField myhiddenfield = editlinkbutton.NamingContainer.FindControl("hiddenID") as HiddenField; 
        int myID = Convert.ToInt32(myhiddenfield.Value); 
    } 
    

    編輯:也許LinkBut​​ton的沒有必要有一個ID,不知道。我的linkbuttons通常有id的:)

    +0

    我的鏈接按鈕有一個id - 「listview1」。這不是你指的是什麼? – 2013-05-11 10:56:38

    1

    我最近有一個類似的問題。儘量不要去尋找System.Web.UI.WebControls.HiddenField,而是尋找System.Web.UI.HtmlControls.HtmlInputHidden-class,here

    另外,你應該更加謹慎,而使用

    System.Web.UI.HtmlControls.HtmlInputHidden hi = 
    listview1.FindControl("hiddenID") as ystem.Web.UI.HtmlControls.HtmlInputHidden; 
    if(hi != null) 
    ... 
    
    +0

    我試過這個通過使用html控件,但結果仍然是一樣的,一個空例外。 +1試圖幫助。 Emre的答案奏效了。 – 2013-05-11 10:55:01

    相關問題