c# - 如何在 Datalist 中使用 HiddenField 获取动态 id

标签 c# asp.net webforms hidden-field hiddenfield

我正在数据列表中获取帖子。我想显示帖子 ID,但我并不完美..

我想获得带有隐藏字段的帖子 ID,知道吗?

我试过按钮点击:

protected void post_button_Click(object sender, EventArgs e)
{
    HiddenField hiddenField = datalist1.Items[0].FindControl("hfield") as HiddenField;
    lbl_note.Text = Convert.ToString(hiddenField);
}

这是可行的,但仅适用于第一个隐藏字段,因为 Items[0],如果你想获得第二个隐藏字段,我可以更改 Items[1]。

但我想让这些值自动出现在数据列表中。 (当我点击帖子的按钮时)

我试过 foreach 函数,但它得到的是最后一个隐藏字段的值。所以,我错过了一些东西,但我不确定。

protected void post_button_Click(object sender, EventArgs e)
{
   foreach (DataListItem item in datalist1.Items)
   {
        var hidden_id = int.Parse(((HiddenField)item.FindControl("hfield")).Value); 
       lbl_note.Text = Convert.ToString(hidden_id);             
   }
}

数据列表1:

<asp:DataList ID="datalist1" runat="server">
   <ItemTemplate>                
        <div>       
            <asp:LinkButton ID="post_picture" runat="server" OnClick="post_picture_Click"><img src="~/testing.png" alt=""></asp:LinkButton>     
            <h3><asp:LinkButton ID="post_title" runat="server" OnClick="post_title_Click"><%# Eval("post_title")%></asp:LinkButton></h3>
            <asp:LinkButton runat="server" ID="post_button" OnClick="post_button_Click" >GO >></asp:LinkButton>
            <asp:HiddenField ID="hfield" runat="server" Value='<%# Eval("post_id")%>'  />
       </div>
   </ItemTemplate>
</asp:DataList>  

已更新..

最佳答案

你想先得到DataListItem,再找到hfield。

protected void post_button_Click(object sender, EventArgs e)
{
    var button = sender as LinkButton;
    var dataListItem = button.Parent as DataListItem;
    var hfield = dataListItem.FindControl("hfield") as HiddenField;
    lbl_note.Text = hfield.Value;
}

关于c# - 如何在 Datalist 中使用 HiddenField 获取动态 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36890698/

相关文章:

c# - 使用c#开发这样的winform

c# - 阻止 EF 尝试创建初始数据库

javascript - 从 Controller 发送两个参数到 Ajax |网络

css - 浏览器使用什么 CSS 来设置无效 &lt;input type ="email"> 的样式?

c# - 为什么表单中的表单在 Internet Explorer 中不起作用

c# - 威胁已经被清除了。对于response.redirect。在以下代码中,当 session 为空时如何重定向

c# - 如何在选择中没有计数器的情况下计数?

c# - 根据两点旋转图像

jQuery UpdatePanel 初始化

javascript - 如何使用asp.net按钮调用javascript函数?