0

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)です。MyList<SocialStory>には、パラメーターを持つ SocialStory オブジェクトが含まれていstory_idます。story_idをパラメーターとして関数を呼び出すにはどうすればよいですか?

4

2 に答える 2

2

You can use dynamic handler (ashx) to display images inside a tag. So you will need to compose literal control something like this:

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

Check ASP.NET ASHX Handler to get basic instructions for creating your StoryImageHandler.ashx.

于 2012-12-17T10:12:39.020 に答える
1

There's no C# at the client's side so you need to make an AJAX call or otherwise query the server somehow.

How to call server side function from client side by passing the argument also? : The Official Microsoft ASP.NET Forums lists a few possible solutions:

They all are based on the same principle: the client sends a second request which invokes a somewhat independent piece of code. They are also considered a lighter alternative to ASMX.

于 2012-12-17T10:12:12.783 に答える