سؤال

وأنا نشر البيانات إلى صفحة تسمى process.aspx الذي يعالج بعض منطق الأعمال مع التعليمات البرمجية التالية:

<%@ Page Language="C#" %>
<%
    MyData.process(Request);
    Response.Redirect("")
%>

وهذه الصفحة سوف تكون الدعوة من مجموعة متنوعة من الصفحات. هل هناك طريقة لمعرفة من أي صفحة قدمت مستواي؟ كنت أفكر شيئا على غرار الكتابة:

 <form id="frmSystem" method="post" action="process.aspx?page=<%=  %>">

ولكن أنا لا أعرف ماذا أكتب في فترة ما بين <%= %> للحصول على اسم الصفحة الحالية. يمكن لأي شخص مساعدة من فضلك؟

هل كانت مفيدة؟

المحلول

ويمكنك التقاط URL صفحة الدعوة والاحتفاظ بها في Session أو ViewState لاستخدامها لاحقا.

وعلى سبيل المثال، في Page_Load،

Session["PreviousPage"] = Request.Url.ToString();

وبعد ذلك في الحدث النهائي (ربما Savebutton_Click أو CloseButton_Click)، يمكنك القيام إعادة توجيه في أي من هذه الطرق:

Server.Transfer(Session["PreviousPage"].ToString(), false);

أو

Response.Redirect(Session["PreviousPage"].ToString(), false);

ويمكنك أيضا الحصول على URL للصفحة الدعوة بهذه الطريقة:

Request.ServerVariables("HTTP_REFERER")

نصائح أخرى

هل يمكن أن تمر فيه في طريق خاصية مثل ReturnUrl تشبه الطريقة التي يعمل لافتة في الصفحة. هذا هو نوع من كيف تقومون به هناك.

هل يمكن أيضا محاولة لاستخدام HttpContext.Current.Request.UrlReferrer لمعرفة من الذي يشار لك.

ويمكنك استخدام Request.UrlReferrer.OriginalString للحصول على URI الصفحة اشارة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top