动态创建的超链接以调用c#函数

时间:2012-12-17 09:59:50

标签: c# asp.net hyperlink

我有一个连接到mssql数据库的函数,并返回一个故事列表 - 这些故事放在超链接中。这是我的代码:

public void getSocialStories()
{
    string user = getSelectedUser();
    List<SocialStory> stories = new List<SocialStory>();
    stories = functions.getSocialStories(user);

    foreach (SocialStory story in stories)
    {
        HyperLink storyLink = new HyperLink();
        storyLink.NavigateUrl = "http://google.com";

        storyLink.Text = story.Social_story_name;
        ph.Controls.Add(new LiteralControl("<br />"));
        ph.Controls.Add(storyLink);
    }
}

到目前为止一切都那么好,但是现在我想要点击超链接来调用一个函数,该函数要求数据库返回该故事的相应图片。我需要做的就是调用function(story_id)。我的List<SocialStory>包含SocialStory对象,其中包含story_id参数。如何使用story_id作为参数调用函数?

2 个答案:

答案 0 :(得分:2)

您可以使用动态处理程序(ashx)在标记内显示图像。 所以你需要构成这样的字面控制:

<a href="yourStoryLink"><img src="StoryImageHandler.ashx?storyId=yourStoryId" /></a>

检查ASP.NET ASHX Handler以获取有关创建StoryImageHandler.ashx的基本说明。

答案 1 :(得分:1)

客户端没有C#,因此您需要进行AJAX调用或以其他方式查询服务器。

How to call server side function from client side by passing the argument also? : The Official Microsoft ASP.NET Forums列出了一些可能的解决方案:

它们都基于相同的原则:客户端发送第二个请求,该请求调用一些独立的代码。它们也被认为是ASMX的替代品。