Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Datalist中的HiddenField获取动态id_C#_Asp.net_Webforms_Hidden Field_Hiddenfield - Fatal编程技术网

C# 如何使用Datalist中的HiddenField获取动态id

C# 如何使用Datalist中的HiddenField获取动态id,c#,asp.net,webforms,hidden-field,hiddenfield,C#,Asp.net,Webforms,Hidden Field,Hiddenfield,我在数据列表中得到帖子。我想出示邮政身份证,但我不能完全 我想用隐藏字段获取帖子id,知道吗 我试过点击按钮: protected void post_button_Click(object sender, EventArgs e) { HiddenField hiddenField = datalist1.Items[0].FindControl("hfield") as HiddenField; lbl_note.Text = Convert.ToString(hiddenF

我在数据列表中得到帖子。我想出示邮政身份证,但我不能完全

我想用隐藏字段获取帖子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);
}
这是可行的,但仅适用于第一个hiddenfield,因为项目[0],如果您希望获得第二个hiddenfield,则我可以更改项目[1]

但我想让这些值自动出现在datalist中。(当我单击帖子按钮时)

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

protectedvoid post\u按钮\u单击(对象发送者,事件参数e)
{
foreach(datalist1.Items中的DataListItem项)
{
var hidden_id=int.Parse(((HiddenField)item.FindControl(“hfield”).Value);
lbl\u note.Text=Convert.ToString(隐藏的\u id);
}
}
数据列表1:

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

转到>>

已更新。

从注释中,您需要在
lbl\u note
中显示隐藏字段的所有id,因此您必须使用以下内容:

List<string> hdnIdList= new List<string>();
foreach (DataListItem item in datalist1.Items)
{
     hdnIdList.Add(((HiddenField)item.FindControl("hfield")).Value);                      
}
lbl_note.Text = String.Join("-",hdnIdList);  
List hdnIdList=new List();
foreach(datalist1.Items中的DataListItem项)
{
hdnIdList.Add(((HiddenField)item.FindControl(“hfield”)).Value);
}
lbl_note.Text=String.Join(“-”,hdnIdList);

如果id为
001
002
003
,标签将显示输出为
001-002-003
,您希望首先获取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;
}

你想在
lbl\u note.Text
@页面上有帖子,我想用隐藏字段显示帖子id。因此,如果有
n
隐藏字段,你需要显示标签中所有
n
hdn字段的id,对吗?请发布数据列表1标记,这样我们就知道按钮点击是如何触发的。@un lucky是的,没错,但我想显示帖子的id。如果我能点击第三个帖子,我就需要看到第三个帖子的id,对吗?我试过了,没有任何动作。。我不知道为什么。。点击页面上的帖子按钮,但没有错误,没有结果@不幸的是,我没想到。。谢谢@Win,它很有效。