Vấn đề về url đăng lại

lập trình


xin chào, tôi có mã này và mã này không hoạt động đúng
mã trong one.aspx

<asp:HiddenField runat="server" ID="hfDistrict" Value='<%# Eval("District")%>' />
<asp:HiddenField runat="server" ID="hfDistCode" Value='<%# Eval("DistCode") %>' />
<asp:LinkButton runat="server" ID="btn_NoOfA"  PostBackUrl="~/AcData.aspx" Text='<%# Eval("NoOfCount") %>' />

Mã trong AcData.aspx

string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;

cũng thử mã này

string DistrictN1 = Request.Form["hfDistrict"]

nhưng tôi không nhận được giá trị từ trang trước
thực ra chúng tôi cần xóa chuỗi truy vấn khỏi mã cũ và không muốn sử dụng phiên và chúng tôi đang cố gắng sử dụng postbackurl để chuyển giá trị từ one.aspx sang AcData.aspx.
vấn đề chính xác tôi đang làm là gì và giải pháp sẽ là gì. xin vui lòng cung cấp giải pháp, cảm ơn và xin lỗi

Những gì tôi đã thử:

mã trong one.aspx

<pre><asp:HiddenField runat="server" ID="hfDistrict" Value='<%# Eval("District")%>' />
<asp:HiddenField runat="server" ID="hfDistCode" Value='<%# Eval("DistCode") %>' />
<asp:LinkButton runat="server" ID="btn_NoOfA"  PostBackUrl="~/AcData.aspx" Text='<%# Eval("NoOfCount") %>' />

Mã trong AcData.aspx

string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;

cũng thử mã này

string DistrictN1 = Request.Form["hfDistrict"]

Giải pháp 2

Bạn đã đăng bài này trên diễn đàn ASP.NET. Vui lòng không đăng lại.

Giải pháp 1

Đọc tài liệu về Postbackurl, nó chứa các ví dụ về cách đọc các giá trị biểu mẫu

Thuộc tính Button.PostBackUrl (System.Web.UI.WebControls) | Tài liệu Microsoft[^]

Giải pháp 3

Mã của bạn để truy cập giá trị điều khiển trong AcData.aspx trang phải ở bên trong Page_Load sự kiện:

C#
void Page_Load (object sender, System.EventArgs e)
{
   string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;
}

Một tùy chọn khác mà bạn có thể thử là sử dụng Server.Transfer:

1. Xóa PostBackUrl từ LinkButton

2. Thêm <asp:LinkButton OnClick="LinkButton1_Click" ... />

3. Trong mã đằng sau, bạn có thể làm điều gì đó như thế này:

C#
protected void LinkButton1_Click(object sender, EventArgs e)
{
    Server.Transfer("~/AcData.aspx");

}

Sau đó, bạn có thể truy cập giá trị ở trang đích như thế này:

C#
void Page_Load (object sender, System.EventArgs e)
{
HiddenField hid = (HiddenField)Page.PreviousPage.FindControl("hfDistrict");

if(hid != null)
      string key = hid.Value;

}

Để biết thêm thông tin, hãy đọc: Đăng bài chéo trang trong biểu mẫu web ASP.NET

コメント

タイトルとURLをコピーしました