开发者

How do I retrieve the ListItem value dynamically

I have the following code:

<asp:BulletedList ID="filingList" runat="server" DisplayMode="LinkButton"
            onclick="filingList_Click">
</asp:BulletedList>

<asp:Literal ID="filingLiteral" runat="server"></asp:Literal>

and in the backend I fill the bulleted list with ListItems (where AlternateFileUrl is a url string that p开发者_如何学编程oints to text formatted in html):

foreach (ShortFiling file in filingArray)
{
    filingList.Items.Add(new ListItem(file.Type.ToString() + " " 
    + file.Date.ToString(), file.AlternateHtmlFileUrl));
}

How do I access the text of the value of the item that's clicked on in the filingList then set it to the asp:Literal control? Here is the empty event handler that I defined and assume that I need to put the code in to set the asp:literal to the value of the specified 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;
}

UPDATE 2

Ok you want the text from that URL, keep your markup as it was and change the code behind to this:

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

You will need to add the System.Net namespace.


If I have understood your question correctly, you would just handle the click event of the BulletedList control, like:

protected void filingList_Click(object sender, BulletedListEventArgs e)
{
    BulletedList bull = (BulletedList)sender;
    ListItem li = bull.Items(e.Index);
    filingLiteral.Text = li.Value;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜