سؤال

نظرًا لأنني أنحدر من خلفية ASP كلاسيكية، فقد اعتدت على استخدام نماذج متعددة في الصفحة، ولكن من الواضح أن هذا محدود في صفحة ASP.NET.

ومع ذلك، لدي موقف حيث لدي نموذج يجمع المدخلات من المستخدم، ويحفظ البيانات في قاعدة بيانات، وبعد ذلك أريد تقديم (وتعديل قيم) نموذج خاص يتم نشره على موقع PayPal الإلكتروني.

إذا كانت قيم حقول نموذج PayPal ثابتة، فلن تكون هناك مشكلة، ولكن بما أنني أرغب في التعامل مع جانب خادم النموذج (لتعديل حقول الكمية والوصف والسعر وما إلى ذلك) فإن هذا سوف تكون مشكلة.

كنت أفكر في إعادة التوجيه إلى صفحة مختلفة بعد الكتابة إلى قاعدة البيانات، وأظن أن هذا سيعمل بشكل جيد إلى حد ما، ولكنه قد يكون قليلًا من الجهد الإضافي الذي قد يكون غير ضروري.

لقد تم اقتراح علي أيضًا أنه يمكنني تقديم نموذج مختلف برمجيًا، اعتمادًا على مكان وجودي في الدورة.أي، استخدم عنصرًا نائبًا، وفي Page_Load أود إضافة نموذج قاعدة البيانات (مكتملًا بعناصر التحكم التابعة) في البداية، ونموذج PayPal بعد إعادة النشر.

يجب أن يكون هذا السيناريو شائعًا بالنسبة لكم يا رفاق، لذلك أبحث عن آراء ونصائح وأي نماذج تعليمات برمجية ذات صلة إذا كنتم تفضلون النهج.

أعلم أنه يمكنني تدبر الأمر، لكن هذا المشروع عبارة عن وسيلة تعليمية، لذا أريد اعتماد ما يعتبر أفضل الممارسات.

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

كريس

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

المحلول

يمكن أن يكون لديك نماذج متعددة، وقد يحتوي نموذج واحد فقط على runat="server" يصف.

هناك مجموعة من الإجابات لتشغيل PayPal؛ولكن لأنها وسيلة تعليمية قد تكون غشًا.بكل صدق، سألقي نظرة على واجهة برمجة تطبيقات PayPal الكاملة بدلاً من استخدام طريقة النموذج المبسط إلى حد ما (مع الميزة الإضافية المتمثلة في أنها يجب أن تزيد من تعلمك أكثر).

بخلاف ذلك، نعم، قم بإعداد نموذج HTML خارج النموذج الموجود على جانب الخادم، وأضف إليه حرفيًا واكتب الأجزاء والأجزاء هناك.

نصائح أخرى

تتمثل الطريقة الأساسية في استخدام لوحتين على الصفحة - واحدة للنموذج الأول والأخرى للنموذج الثاني.

يمكنك تغيير خاصية الرؤية لهذه اللوحات اعتمادًا على النموذج الذي تريد عرضه (أثناء تحميل الصفحة أو في أي وقت قبل العرض).

ربما أسيء فهم السؤال، لكن ألا يمكنك ببساطة أن يكون لديك قسمين داخل النموذج، حيث يكون قسم واحد فقط مرئيًا في أي وقت.على سبيل المثال

<form id="Form1" method="post" runat="server">
    <div id="getUserInput" visible="true">
          <asp:button id="btnSubmitFirst" />
    </div>
    <div id="doSubmissionToPaypal" visible="false">
          <asp:button id="btnSubmitSecond" />
    </div>
</form>

ثم، في btnSubmitFirst_Click:

 doSubmissionToPaypal.visible=True
 getUserInput.visible = false

شيء على هذا المنوال؟

الحل البديل لهذا Paypal هو استخدام رمز التكامل باي بال نظرًا لأن Paypal ليس دائمًا الأكثر سهولة في التكامل.يتم العمل الشاق في الأساس من أجلك.

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