UDTWS Ответов: 3

Проблема с url-адресом обратной связи


привет, у меня есть этот код, и этот код не работает должным образом
код в одном файле.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") %>' />


Код в AcData.aspx-файл


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



также попробуйте этот код

string DistrictN1 = Request.Form["hfDistrict"]


но я не получил значения с предыдущей страницы
на самом деле нам нужно удалить querystring из старого кода и не хотим использовать сеанс, и мы пытаемся использовать postbackurl для передачи значения из one.aspx в AcData.aspx.
какова именно проблема, которую я делал, и каково будет ее решение? plz обеспечивает решение спасибо и regrds

Что я уже пробовал:

код в одном файле.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") %>' />


Код в AcData.aspx-файл


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



также попробуйте этот код

string DistrictN1 = Request.Form["hfDistrict"]

3 Ответов

Рейтинг:
1

Richard MacCutchan

Вы уже разместили это в разделе ASP.NET форум. Пожалуйста, не делайте репостов.


Рейтинг:
1

F-ES Sitecore

Прочитайте документацию для Postbackurl, она содержит примеры того, как читать значения формы

Кнопка.Свойство PostBackUrl (System.Web.UI.WebControls) | Microsoft Docs[^]


Рейтинг:
1

Vincent Maverick Durano

Ваш код для доступа к управляющему значению в AcData.aspx страница должна быть внутри Page_Load событие:

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


Еще один вариант, который вы можете попробовать, - это использовать Server.Transfer:

1. Удалить PostBackUrl от LinkButton
2. Добавить <asp:LinkButton OnClick="LinkButton1_Click" ... />
3. В вашем коде , вы можете сделать что-то подобное:

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

}


Затем вы можете получить доступ к значению на целевой странице следующим образом:

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

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

}


Для получения дополнительной информации читайте: Кросс-страничная публикация в ASP.NET веб-формы