如何动态检索ListItem值
本文关键字:检索 ListItem 动态 何动态 | 更新日期: 2023-09-27 18:00:06
我有以下代码:
<asp:BulletedList ID="filingList" runat="server" DisplayMode="LinkButton"
onclick="filingList_Click">
</asp:BulletedList>
<asp:Literal ID="filingLiteral" runat="server"></asp:Literal>
在后台,我用ListItems填充项目符号列表(其中AlternateFileUrl
是指向以html格式格式化的文本的url字符串):
foreach (ShortFiling file in filingArray)
{
filingList.Items.Add(new ListItem(file.Type.ToString() + " "
+ file.Date.ToString(), file.AlternateHtmlFileUrl));
}
如何访问在filingList
中单击的项目的value
的文本,然后将其设置为asp:Literal
控件?这是我定义的空事件处理程序,并假设我需要放入代码来将asp:literal设置为指定ListItem的值。
protected void filingList_Click(object sender, BulletedListEventArgs e)
{
//put code here to set the asp:Literal text to
//the value of the item that is clicked on
}
protected void filingList_Click(object sender, BulletedListEventArgs e)
{
var value = filingList.Items[e.Index].Value;
filingLiteral.Text = value;
}
更新2
好的,如果你想要来自该URL的文本,保持你的标记原样,并将后面的代码更改为:
protected void filingList_Click(object sender, BulletedListEventArgs e)
{
var value = filingList.Items[e.Index].Value;
using(var client = new WebClient())
{
string downloadString = client.DownloadString(value);
filingLiteral.Text = downloadString;
}
}
您将需要添加System.Net
命名空间。
如果我正确理解了你的问题,你只需要处理BulletedList控件的点击事件,比如:
protected void filingList_Click(object sender, BulletedListEventArgs e)
{
BulletedList bull = (BulletedList)sender;
ListItem li = bull.Items(e.Index);
filingLiteral.Text = li.Value;
}