【问题标题】:Get the dynamically bound hidden field value inside a list view in code-behind在代码隐藏的列表视图中获取动态绑定的隐藏字段值
【发布时间】:2013-05-11 10:33:09
【问题描述】:

在我的 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>

我需要访问隐藏字段控件中的值,以便我可以在链接按钮单击事件上将该值传递给数据库。以下是我到目前为止所取得的成果。

    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);

我收到一个运行时错误,即“对象未引用到对象的实例”。该值似乎为空。

谁能告诉我为什么我会得到这个?我该怎么办?

【问题讨论】:

    标签: c# asp.net hiddenfield


    【解决方案1】:

    给你的链接按钮一个 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);
    }
    

    编辑:也许链接按钮不必有 id,不确定。我的链接按钮通常有 id :)

    【讨论】:

    • 我的链接按钮有一个 id - “listview1”。你说的不是这个吗?
    【解决方案2】:

    我最近遇到了类似的问题。尽量不要寻找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)
    ...
    

    【讨论】:

    • 我通过使用 html 控件进行了尝试,但结果仍然相同,出现空异常。 +1 试图提供帮助。 Emre 的回答奏效了。
    猜你喜欢
    • 2014-04-10
    • 1970-01-01
    • 2011-09-15
    • 2020-07-29
    • 2018-05-26
    • 1970-01-01
    • 2013-08-08
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多