我有一个自动填充sqldatasource的Listview,我在Listview中有一个Link Button,点击我被重定向到其他页面。但是重定向时我需要将ID和用户名作为查询字符串传递给新页面。我通过上一页到此页面的查询字符串收到此ID和用户名。所以,我需要知道如何在frondend或aspx页面上阅读它并将其与Linkbutton的回发网址绑定?请建议我这个。感谢。
以下是我正在尝试的代码:
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="WebForm4.aspx?id=<%=id %>">here</asp:LinkButton>
但是进入下一页我会这样:
http://localhost:38524/WebForm4.aspx?id=%3C%=id%20%%3E
我是否想获得http://localhost:38524/WebForm4.aspx?id=1,因为我通过接收查询字符串将id的值设置为1。
现在我也在尝试这个:
<asp:LinkButton ID="LinkButton2" runat="server" Text="here" PostBackUrl='<%# string.Format
("WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton>
但这不起作用。当我点击链接按钮时,它不会重定向到WebForm4.aspx,而是刷新到同一页面。请帮帮我。
答案 0 :(得分:0)
在您传递Querystrings的页面上,声明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页面上,您可以按<%=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
以设置代码隐藏的回发
Update2 将回发更改为
PostBackUrl='<%#String.Format("WebForm4.aspx?id={0}",QueryString1) %>'
我希望它会有所帮助(经过测试)
答案 1 :(得分:0)
您可以使用以下示例将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>
答案 2 :(得分:0)
你几乎是第二次尝试的。你仔细阅读查询字符串。缺少的东西是波浪号,后面是正斜杠:
<asp:LinkButton ID="LinkButton2" runat="server" Text="here"
PostBackUrl='<%# string.Format("~/WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton>
另外,用等号替换哈希符号; <%# ... %>
是Data binding syntax。您需要this one从服务器端代码返回一个字符串。