كيفية الحصول على Asp.Net لإعادة توجيه المستخدم إلى نقطة الانطلاق

StackOverflow https://stackoverflow.com/questions/225149

  •  03-07-2019
  •  | 
  •  

سؤال

شباب لقد تم كتابة كود 15+ سنوات, لكنه تمكن من تجنب "تطوير الويب" حتى 3 أشهر.

لقد ورثت تركة Asp.net تطبيق (بدأ في .صافي 1.1 نحن الآن فصاعدا .Net 2.0) ، إنه أداة الإدارة عن منتجاتنا.

في عدة أماكن المشرف أداة ببساطة يحافظ على قوائم طويلة من القيم.

قائمة (يمكن 200+ البنود) تظهر في GridView (الصفحة), ينقر المستخدم على الزر تعديل على البند ، وهذا يجلب لهم إلى تحرير صفحة البند (الصفحة ب) حيث يمكن تغيير قيمة (أو قيم عنصر في القائمة قد تترافق مع العديد من القيم مثلاسم و عنوان و اللون المفضل, سلالة من القط ...)

حاليا عندما يضغط المستخدم على "حفظ" على الصفحة " ب " ، ونحن إعادة توجيه إلى صفحة A.تفتح الصفحة في أعلى القائمة ، وهذا يزعج المستخدم في كثير من الأحيان العديد من العناصر في التسلسل سوف تحتاج إلى تكوين معا ، ويحتاج المستخدم إلى 1.تذكر العنصر الذي هم فقط تحريرها ، 2.انتقل لأسفل إلى أن البند

ما أريد القيام به هو الحصول على قائمة تجلب للمستخدم العودة إلى البند أنها مجرد تحرير, كما في كثير من الأحيان العديد من العناصر في التسلسل سوف تحتاج إلى تكوين معا.

الأسرع توقف ...و استمر في القراءة

  1. اقتراحات على غرار "تجميع العناصر لذلك هناك عدد أقل في قائمة" سوف يعتبر غير مفيد
  2. صالح نقاط .Net framework 3.5 يقوم بذلك تلقائيا ، سوف يعتبر غير مفيد لي (ولكن بعد منهم على أي حال ، قد تساعد بعض الأحمق المسكين)
  3. أعتقد أنني يمكن أن تفعل هذا من خلال نشر هوية تحريرها البند عند إعادة تحميل الصفحة, و التمرير الشبكة إلى هذه النقطة ، ومع ذلك سؤالي هو . . .

هل هناك ميزة أن تفعل هذا أنني لا أعرف عن (ما هو) و/أو
ما هي الطريقة المقبولة من فعل هذا ؟

شكرا مقدما ب.القلق

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

المحلول

ويمكن تحقيق ذلك باستخدام مرساة العلامات.عند إخراج العناصر الخاصة بك على الصفحة تعيين علامة مرساة بجانب كل عنصر كما يلي:

<a name="#175"></a>

حيث أن هذا البند سيكون item id 175.ثم عند إعادة توجيه إلى الصفحة " أ " ، إضافة إلى "#175" إلى نهاية url

Response.Redirect("PageA.aspx#175");

نصائح أخرى

أبسط طريقة يمكنك القيام به هو تمرير معرف من الصفحة " ب "في سلسلة استعلام مواقع المعلومات URL حين إعادة توجيه إلى الصفحة" أ "بعد إنقاذ في الصفحة "ب".

على سبيل المثالwww.example.com/PageA.aspx?editedId=89

و في PageLoad من الصفحة " أ " ، يمكنك التحقق إذا كان هذا هو من تحرير التفاصيل صفحة examineing ما إذا كان هناك قيمة صالحة في HttpContext.الحالي.QueryStrubg["editedId"], إذا كان هناك يعني من الصفحة "ب".يمكنك استخدام هذه القيمة إلى تسليط الضوء أو حدد الصف في datagrid بسهولة

الأسرع تتوقف ... والحفاظ على القراءة...

التحكم الجيد يسمح لك لتحرير صفوف متعددة في نفس الوقت على نفس الصفحة على سبيل المثال على الصفحة " أ " ، وحفظها معا.تحقق لك Telerik التحكم datagrid.كنت أحب ذلك.

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