c#
  • asp.net
  • hiddenfield
  • 2013-05-11 112 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

    相关问题