Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找链接的ID_C#_Html_Asp.net - Fatal编程技术网

C# 查找链接的ID

C# 查找链接的ID,c#,html,asp.net,C#,Html,Asp.net,我已将链接动态添加到asp页面。单击后,我调用一个函数。我想找出调用函数的链接的id。我添加了google.com和yahoo.com来解释我的需求。我希望函数在我已经完成的原始场景中从db中提取数据 <a href="#" onServerClick="abc_Click" id="4"/>click</a> <a href="#" onServerClick="abc_Click" id="5"/>click here</a> 我提到过

我已将链接动态添加到asp页面。单击后,我调用一个函数。我想找出调用函数的链接的id。我添加了google.com和yahoo.com来解释我的需求。我希望函数在我已经完成的原始场景中从db中提取数据

 <a href="#"  onServerClick="abc_Click" id="4"/>click</a>
 <a href="#" onServerClick="abc_Click" id="5"/>click here</a>
我提到过

现在我有两个问题

  • 单击链接时未调用该函数
  • 我不知道如何找到调用函数的链接的id
  • 将runat=“server”添加到html标记中,使该元素在服务器上可用。 否则它只是一个html元素,显然无法在服务器上访问这些元素

    <a href="#" runat="server" onServerClick="abc_Click" id="4" />
    
    
    
    您还必须正确实现事件处理程序,因为您的实现缺少参数

    将runat=“server”添加到html标记中,以使元素在服务器上可用。 否则它只是一个html元素,显然无法在服务器上访问这些元素

    <a href="#" runat="server" onServerClick="abc_Click" id="4" />
    
    
    

    您还必须正确实现事件处理程序,因为您的实现缺少参数

    您缺少引用这些服务器端链接的重要属性:

    runat="server"
    
    应该是这样的:

    <a href="#" runat="server" onServerClick="abc_Click" id="4"/>click</a>
    <a href="#" runat="server" onServerClick="abc_Click" id="5"/>click here</a>
    

    在这种情况下,
    sender
    将是已单击的元素。您可以将其强制转换为该元素的类型,并从中获取所需的所有信息,包括其
    .Id
    属性。

    您错过了在服务器端引用这些链接的一个重要属性:

    runat="server"
    
    应该是这样的:

    <a href="#" runat="server" onServerClick="abc_Click" id="4"/>click</a>
    <a href="#" runat="server" onServerClick="abc_Click" id="5"/>click here</a>
    

    在这种情况下,
    sender
    将是已单击的元素。您可以将其强制转换为该元素的类型,并从中获取所需的所有信息,包括其
    .Id
    属性。

    您缺少runat server属性。如果包含此项,则需要在表单中包含链接。但是你不能将链接的ID传递给服务器(除非你先用JS修改一个隐藏字段,然后发布这个隐藏字段)。然而,对于一个相当简单的问题来说,这是一个非常复杂的解决方案

    最简单的方法是只添加一个querystring,然后在页面加载中执行db调用

    例如:

    <a href="/mypage.aspx?id=4" />click</a>
    <a href="/mypage.aspx?id=5" />click here</a>
    

    您缺少runat server属性。如果包含此项,则需要在表单中包含链接。但是你不能将链接的ID传递给服务器(除非你先用JS修改一个隐藏字段,然后发布这个隐藏字段)。然而,对于一个相当简单的问题来说,这是一个非常复杂的解决方案

    最简单的方法是只添加一个querystring,然后在页面加载中执行db调用

    例如:

    <a href="/mypage.aspx?id=4" />click</a>
    <a href="/mypage.aspx?id=5" />click here</a>
    

    您必须添加
    runat=“server”
    。或者使用
    LinkButton
    。很抱歉,我没有提到这一点。我添加了runat=“server”,但它仍然不起作用。您必须添加
    runat=“server”
    。或者使用
    LinkButton
    。很抱歉,我没有提到这一点。我添加了runat=“server”,但它仍然不工作。很抱歉,我没有提到。我添加了runat=“server”,但它仍然不工作。很抱歉,我没有提到。我添加了runat=“server”,但它仍然不起作用。@Srinivas:你能更具体一点吗?它以什么方式不起作用?客户端HTML是什么样子的?提示:如果
    runat=“server”
    在客户端发出的HTML中可见,那么您不知何故错误地添加了这些链接。如何动态添加它们?函数未被调用。我的浏览器中的页面源代码视图显示runat=“server”。当我单击链接时,函数没有被调用。@Srinivas:那么,您添加的函数是错误的。它们将作为纯文本添加到输出中,而不是实际的服务器端控件。因此,不会调用该函数,因为您没有将其绑定到任何实际的服务器端控件。在这一点上,最简单的方法可能与Kenneth的答案类似。只要让链接是普通的HTML链接,它们调用当前页面并传递一些查询字符串值。然后在
    Page\u Load
    中检查该值。我也有同样的感觉。肯尼思的回答应该有效。我仍然需要知道如何从调用onServerClick函数的c代码发布asp链接。只有通过您的回答,我才意识到它是以纯文本的形式添加到输出中的,而不是实际的服务器端controls@Srinivas:区别将完全在于如何动态添加此输出。如果您想动态添加控件,您可能应该在类似于
    Page_Init
    (或更早?)的程序中添加控件,并将它们作为实际控件元素(添加到
    控件
    集合中,可能在
    占位符
    或其他内容中)以代码的形式而不是字符串的形式添加。@Srinivas:您能更具体一点吗?它以什么方式不起作用?客户端HTML是什么样子的?提示:如果
    runat=“server”
    在客户端发出的HTML中可见,那么您不知何故错误地添加了这些链接。如何动态添加它们?函数未被调用。我的浏览器中的页面源代码视图显示runat=“server”。当我单击链接时,函数没有被调用。@Srinivas:那么,您添加的函数是错误的。它们将作为纯文本添加到输出中,而不是实际的服务器端控件。因此,不会调用该函数,因为您没有将其绑定到任何实际的服务器端控件。在这一点上,最简单的方法可能与Kenneth的答案类似。只要让链接是普通的HTML链接,它们调用当前页面并传递一些查询字符串值。然后在
    Page\u Load
    中检查该值。我也有同样的感觉。肯尼思的回答应该有效。我仍然需要知道如何从调用onServerClick函数的c代码发布asp链接。只有通过您的回答,我才意识到它是以纯文本的形式添加到输出中的,而不是实际的服务器端controls@Srinivas:区别将完全在于你是如何充满活力的