[英]How To Get Value From ListView
I have Code 我有代码
<head>
<title><%=txtTitle.Text</title>
</head>
<asp:HiddenField ID="txtTitle" runat="server" />
<asp:ListView ID="lvDetNews" runat="server" DataSourceID="sdsBerita">
<ItemTemplate>
<asp:HiddenField ID="HFcari" runat="server" Value='<%# Eval("judul_berita") %>' />
<h2><%# Eval("judul_berita") %></a></h2>
</ItemTemplate>
</asp:ListView>
How to get Value HiddenField from Listview? 如何从Listview获取Value HiddenField?
I'm tring this. 我想这个。 But can't display
但无法显示
protected void Page_Load(object sender, EventArgs e)
{
HiddenField tt = (HiddenField)lvDetNews.FindControl("HFcari");
txtTitle.Value = "tess" + tt;
}
protected void Page_Load(object sender, EventArgs e)
{
HiddenField tt = (HiddenField)lvDetNews.FindControl("HFcari");
txtTitle.Value = "tess" + tt.Value;
}
Update: You got that error because the listview was not binded yet, so i think the best way would be to do all this on the ItemDataBound event.
更新:你得到了这个错误,因为listview还没有绑定,所以我认为最好的方法是在ItemDataBound事件上做所有这些。 You would find the hidden field like below:
你会发现隐藏的字段如下:
<asp:ListView ID="lvDetNews" runat="server" DataSourceID="sdsBerita" OnItemDataBound="lvDetNews_ItemDataBound">
<ItemTemplate>
<asp:HiddenField ID="HFcari" runat="server" Value='<%# Eval("judul_berita") %>' />
<h2><%# Eval("judul_berita") %></a></h2>
</ItemTemplate>
</asp:ListView>
protected void lvDetNews_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
HiddenField tt = (HiddenField)e.Item.FindControl("HFcari");
txtTitle.Value = "tess" + tt.Value;
}
}
You need to change your code as below 您需要更改以下代码
protected void Page_Load(object sender, EventArgs e)
{
HiddenField tt = (HiddenField)lvDetNews.FindControl("HFcari");
txtTitle.Value = "tess" + tt.Value;
}
If you want to get value in page load , you should know the row number 如果要在页面加载中获取值,则应该知道行号
var hiddenFld = this.lvDetNews.Items[<row_index>].FindControl("HFcari") as HiddenField;
string value = hiddenFld.Value();
Otherwise you have to done this in ItemDataBound
event 否则你必须在
ItemDataBound
事件中完成此操作
<head>
<title><%=txtTitle.Text</title>
</head>
<asp:HiddenField ID="txtTitle" runat="server" />
<asp:ListView ID="lvDetNews" runat="server" DataSourceID="sdsBerita" OnItemDataBound="lvDetNews_ItemDataBound">
<ItemTemplate>
<asp:HiddenField ID="HFcari" runat="server" Value='<%# Eval("judul_berita") %>' />
<h2><%# Eval("judul_berita") %></a></h2>
</ItemTemplate>
</asp:ListView>
Code: 码:
protected void lvDetNews_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
var hiddenFld = e.Item.FindControl("HFcari") as HiddenFiled;
string value = hiddenFld.Value();
// ...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.