在asp.net中,如何从页面中获取文本框值并将其作为值传递给<;asp:HyperLink>;

在asp.net中,如何从页面中获取文本框值并将其作为值传递给<;asp:HyperLink>;,asp.net,Asp.net,对这件事来说是新的…而且似乎什么都不管用 这是这一页的一部分 <asp:HyperLink id="lblParentUser" runat="server" NavigateUrl="~/admin-users.aspx?userid=<%txtParentUserId.Text%>"></asp:HyperLink> <%--<asp:HyperLink id="lblParentUser" runat="server" Nav

对这件事来说是新的…而且似乎什么都不管用

这是这一页的一部分

    <asp:HyperLink id="lblParentUser" runat="server" NavigateUrl="~/admin-users.aspx?userid=<%txtParentUserId.Text%>"></asp:HyperLink>
    <%--<asp:HyperLink id="lblParentUser" runat="server" NavigateUrl='<%# Eval("txtParentUserId","~/admin-users.aspx?userid={0}") %>'></asp:HyperLink>--%>             


  <asp:TextBox runat="server" id="txtParentUserId" Enabled="false" style="font-family: 'Trebuchet MS','Tahoma'; font-size: 18px; border-style: solid; border-width: 2px; border-color: #c1c1c1; width: 370px;"></asp:TextBox>

--%>             
试试:

你有两个选择

  • 使用
  • 使用
  • ///Html示例
    函数ClicknDirect(参数){
    __doPostBack('lblParentUser',参数);
    }
    点击这里
    ///C#代码隐藏示例
    受保护的无效页面加载(对象发送方、事件参数e)
    {
    如果(iPostBack){
    string ControlName=Request[“\uu EVENTTARGET”];//有关控件名称的详细信息http://goo.gl/7Uw9ka
    string parameter=Request[“\uu EVENTARGUMENT”];//对于参数,它是可选的。
    if(ControlName.Equals(“lblParentUser”))
    {
    重定向(string.Format(“~/admin users.aspx?userid={0}”,txtParentUserId.Text),false);
    }
    }
    }
    
    如果txtParentUserId是表单post的一部分,那么您只需在回发过程中为链接编写HTML即可

     <%
      Response.Write(String.Format("
      <a href='/../admin-users.aspx?userid={0}'/>click here</a>",
       txtParentUserId.Text.ToString()));
     %>
    
    或者在客户端上使用javascript

     <script lang="javascript">
      var url = "/../admin2-users.aspx?userid=" +
          document.getElementById("txtParentUserId").value;
      document.getElementById("lblParentUser").href = url;
    
     </script>
    
    
    var url=“/../admin2 users.aspx?userid=”+
    document.getElementById(“txtParentUserId”).value;
    document.getElementById(“lblParentUser”).href=url;
    
    对于最后一个示例,请确保ClientID属性与ID属性相同,并且ClientIDMode设置为静态。例如

      <asp:HyperLink ID="lblParentUser" ClientID="lblParentUser" ClientIDMode="Static" ...
    
      <asp:TextBox ID="txtParentUserId" ClientID="txtParentUserId" ClientIDMode="Static"...
    

    添加了函数GetTheUrl(),作为字符串返回“~/admin users.aspx?userid=“+parentUserId.ToString End Function我使用的:如果在初始页面加载期间设置了(或可以设置)txtParentUserId(IsPostBack==false),则需要在代码中设置值(设置了txtParentUserId.Text之后的某个时间)…它起了作用。javascript选项不起作用。我将其修改为:var url=“~/admin users.aspx?userid=“+document.getElementById(“txtParentUserId”).value;document.getElementById(“lblParentUser”).NavigateURL=url;返回的url路径不正确,用户ID无效“set by javascript”不是我期望的id。@user3020047 asp:HyperLink控件是一个仅限于asp.Net服务器端的控件。因此,浏览器上无法访问NavigateUrl属性。但是,HyperLink控件作为锚定标记发送到浏览器(即“”)。因此,要修改该链接的URL,必须设置href属性。
    
     <%
      Response.Write(String.Format("
      <a href='/../admin-users.aspx?userid={0}'/>click here</a>",
       txtParentUserId.Text.ToString()));
     %>
    
     HyperLink link = (HyperLink)lblParentUser;
     TextBox txt = (TextBox)txtParentUserId;
     link.NavigateUrl = String.Format("~/admin-users.aspx?userid={0}",txt.Text.ToString());
    
     <script lang="javascript">
      var url = "/../admin2-users.aspx?userid=" +
          document.getElementById("txtParentUserId").value;
      document.getElementById("lblParentUser").href = url;
    
     </script>
    
      <asp:HyperLink ID="lblParentUser" ClientID="lblParentUser" ClientIDMode="Static" ...
    
      <asp:TextBox ID="txtParentUserId" ClientID="txtParentUserId" ClientIDMode="Static"...