簡體   English   中英

如何將查詢字符串讀入ASPX頁面?

[英]How to read Query String into the ASPX page?

我有一個使用sqldatasource自動填充的Listview,在這里,我單擊了重定向到其他頁面后,在Listview中有一個鏈接按鈕。 但是在重定向時,我需要將ID和用戶名作為查詢字符串傳遞給新頁面。 我從上一頁到此頁面通過querystring收到的ID和用戶名。 因此,我需要知道如何在frondend或aspx頁面上閱讀並將其與Linkbutton的回發URL綁定在一起? 請給我建議。 謝謝。

這是我正在嘗試的代碼:

  <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,而是刷新到同一頁面。 請幫我。

在您要傳遞Querystrings的Page上,聲明Public字符串變量,然后在PageLoad讀取querystrings並將其傳遞給那些變量。

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) %>'

希望對您有所幫助(已測試)

您可以使用下面的示例將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>

您第二次嘗試幾乎做到了。 您閱讀查詢字符串很好。 缺少的小東西是波浪號和正斜杠:

<asp:LinkButton ID="LinkButton2" runat="server" Text="here" 
    PostBackUrl='<%# string.Format("~/WebForm4.aspx?postquestion={0}", Request.QueryString["id"]) %>'></asp:LinkButton>

同樣,用等號替換井號; <%# ... %>數據綁定語法 您需要這個從服務器端代碼返回一個字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM