如何将查询字符串读入ASPX页面
本文关键字:ASPX 页面 字符串 查询 | 更新日期: 2023-09-27 17:49:23
我有一个Listview,它是自动填充与sqldatasource,我在这里我有一个链接按钮内的Listview通过点击,我被重定向到其他一些页面。但是,在重定向时,我需要将ID和用户名作为querystring传递到新页面。这个ID和用户名是我通过querystring从前页接收到此页的。所以,我需要知道如何在前端或aspx页面上阅读此内容并将其与链接按钮的回发url绑定?请给我一些建议。谢谢。
这是我正在尝试的代码:
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="WebForm4.aspx?id=<%=id %>">here</asp:LinkButton>
但是进入下一页我是这样的:
http://localhost: 38524/WebForm4.aspx吗?id = % 3 c % = id % 20% % 3 e
当我通过接收querystring将id的值设置为1时,我是否想获得http://localhost:38524/WebForm4.aspx?id=1。
现在我也在尝试这个:
<asp:LinkButton ID="LinkButton2" runat="server" Text="here" PostBackUrl='<%# string.Format
("WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton>
但这不起作用。当我点击链接按钮,它不是重定向到WebForm4。Aspx则是刷新到同一页面。
您可以使用下面的示例将ID和UserName从查询字符串传递到下一页:
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl='<%# String.Format("WebForm4.aspx?id={0}&userName={1}", Request.QueryString["id"],Request.QueryString["userName"]) %>'>here</asp:LinkButton>
在传递查询字符串的页面上,声明Public
字符串变量。在PageLoad
上读取查询字符串并将其传递给这些变量。
public string QueryString1;
public string QueryString2;
protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();// Imp to add for setting values from front side
QueryString1 = Request.QueryString["QueryString1"].ToString();
QueryString2 = Request.QueryString["QueryString2"].ToString();
LinkButton2.PostBackUrl = "WebForm4.aspx?id=" + QueryString1;
}
然后在aspx页面上,您可以通过by <%=QueryString1 %>
, <%=QueryString2 %>
访问这些值
<div class="row" runat="server" visible="False" id="mainDiv">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-body">
<div id="divMsg" runat="server">
<%=QueryString1 %>
<%=QueryString2 %>
<asp:Label runat="server" ID="lblMsg"></asp:Label>
</div>
</div>
</div>
</div>
</div>
更新:参见Page_Load
设置从codebehind
Update2将postback更改为
PostBackUrl='<%#String.Format("WebForm4.aspx?id={0}",QueryString1) %>'
你第二次差点就成功了。您读取查询字符串很好。少了一些小东西,就是前面加斜杠的波浪号:
<asp:LinkButton ID="LinkButton2" runat="server" Text="here"
PostBackUrl='<%# string.Format("~/WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton>
同时,将哈希符号替换为等号;<%# ... %>
是数据绑定语法。要从服务器端代码返回字符串,需要使用这个