如何使用 Asp.Net 在客户端使用超链接字段将文本框值传递给查询字符串

How to Pass Text Box Value to Query String Using HyperLink Field In Client Side Using Asp.Net

我正在使用 asp.net c# 开发应用程序,因为我需要在不使用服务器端代码的情况下通过查询字符串传递文本框值, 我正在尝试下面的一些代码,但它对我不起作用。

<asp:HyperLink ID="hlnkHistory" runat="server" Text="History" ForeColor="Green" ImageUrl="~/images/History2.png" Font-Bold="true" Target="_blank" NavigateUrl="~/WebFormReports/History.aspx?SerialNo=<%#Eval('txtSerialNo.ClientID')%>" ToolTip="View History"></asp:HyperLink>

当我像下面的代码一样直接赋值时,它工作正常。

<asp:HyperLink ID="hlnkHistory" runat="server" Text="History" ForeColor="Green" ImageUrl="~/images/History2.png" Font-Bold="true" Target="_blank" NavigateUrl="~/WebFormReports/History.aspx?SerialNo=1" ToolTip="View History"></asp:HyperLink>

注意:我不需要服务器端代码来传递值 喜欢

protected void lnkNavigate_Click(object sender, EventsArgs e)
{ 
    Response.Redirect("MyLocation.aspx?value=" + myTextBox.Text, false);     
}

如果不可能,请告诉我是否还有其他选项可以将文本框值传递给查询字符串,例如 a href & link button

任何帮助将不胜感激..提前致谢..

如果您仍想使用 asp:HyperLink,则可以使用此代码段。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:HyperLink ID="hlnkHistory" runat="server" Text="History" ForeColor="Green" ImageUrl="~/images/History2.png" Font-Bold="true" Target="_blank" NavigateUrl="~/WebFormReports/History.aspx?SerialNo=" ToolTip="View History" onclick="setHyperlink()"></asp:HyperLink>

<script type="text/javascript">
    function setHyperlink() {
        var value_hyperlink = $("#<%=hlnkHistory.ClientID %>").attr("href");
        var value_textbox = $("#<%=TextBox1.ClientID %>").val();
        $("#<%=hlnkHistory.ClientID %>").attr("href", value_hyperlink + value_textbox);
    }
</script>

如果您不需要该超链接,您可以使用更简单的 javascript 函数。

location.href = "~/WebFormReports/History.aspx?SerialNo=" + $("#<%=TextBox1.ClientID %>").val();