【问题标题】:What HyperLink has been clicked in c# asp.net?c#asp.net中点击了什么超链接?
【发布时间】:2013-09-13 07:54:50
【问题描述】:

我正在制作一个必须播放视频的 asp.net 网络应用程序。在我的起始页中,每个视频都有一个超链接。所有超链接都是相同的,除了它们的名称。这意味着它们都链接到同一页面。我很想知道是否有一个选项可以知道点击了哪个超链接。我想检索超链接的名称。

我生成超链接的代码如下:

foreach (FileInfo i in corFiles)
    {
        HyperLink t = new HyperLink();
        t.Text = i.Name;
        t.NavigateUrl = "page.aspx";
        CorrectArray.Add(t);
    }
    return CorrectArray;

超链接的文本是视频独有的,这意味着我可以根据文本名称更改要播放的视频的 src 目标。所以问题如下。当用户点击超链接时,有什么方法可以检索超链接的文本名称?

希望你能帮上忙!提前致谢。

问候 马格努斯

【问题讨论】:

  • 你不是给他们每个人设置一个ID吗?
  • 只要用户点击任何超链接,您就可以在用户机器上保存cookies
  • @MelanciaUK。不,我不会为他们每个人设置一个 ID,因为将有 100 多个,并且他们的名字将是唯一的,所以他们有点像 ID。但如果它更容易我可以给他们ID?我假设数字就足够了?
  • 我只是想知道他们的 ID 是否与他们的姓名相同,因为在 CodeBehind 上您可以轻松访问 ID。

标签: c# asp.net hyperlink


【解决方案1】:

如果您想将帖子返回到同一页面,您可以添加链接按钮而不是超链接。

foreach (FileInfo i in corFiles)
{
   LinkButton t = new LinkButton();
   t.Text = i.Name;
   t.Click += new EventHandler(DynamicClick);
   t.CommandName = i.Name;
   CorrectArray.Add(t);
}

void DynamicCommand(Object sender, CommandEventArgs e) 
{
     // using e.CommandName and e.CommandArgument you can differentiate the hyperlinks
}

【讨论】:

  • 但是这样做会包括我必须为每个超链接创建一个新页面?还是我完全不在了?
  • @M.frank - 无需使用带有查询字符串的相同页面 url 创建新页面。此外,您不需要超链接,您可以使用链接按钮并处理链接按钮的点击事件,并且在点击事件中您可以知道哪个按钮被点击了。
  • @M.frank - 很高兴为您提供帮助。 :)
【解决方案2】:

如果我理解你的问题, 您必须在超链接标记中添加名称属性,并通过获取名称在后面的代码中获取其值

【讨论】:

  • 假设我有 100 个不同的超链接。而不是将每个超链接链接到单个页面。我希望他们链接到同一页面,但根据单击的超链接,同一页面将显示不同的视频。所以我需要一种知道用户点击哪个超链接的方法。现在,由于每个视频的名称都是唯一的,我的想法是当用户单击超链接时我可以以某种方式检索该名称,然后我可以动态更改新页面要显示的视频。感谢您迄今为止的帮助!
  • 你的应用是Asp.net mvc吗?如果是这种情况,您将视频的名称置于隐藏的输入类型中并使其名称例如<input type="hidden" name="video" />,然后在单击链接中将其发布到控制器。在控制器中,您会得到它的值,如下所示string video = Request.Params['video']
【解决方案3】:

您可以使用集成到 .NET 中的 JQuery 在用户单击超链接时获取超链接的文本。为了能够从 Javascript 访问超链接的文本,只需将其添加到链接内的 custon 标记中,即可获得类似 <a href="page.aspx" htext="hyperlink text"> 的内容。由于超链接 html 是从 .NET 服务器端代码生成的,因此您必须从 .NET 服务器端上下文生成此自定义标记。

【讨论】:

    【解决方案4】:

    为什么不使用查询字符串?

     t.NavigateUrl = "page.aspx?video=<someid>"
    

    并在页面中解析查询字符串以显示正确的视频?

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2012-06-03
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多