يؤدي تعيين إجراء النموذج في ‎.net 3.5 SP1 إلى حدوث أخطاء عند التحويل البرمجي

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

  •  09-06-2019
  •  | 
  •  

سؤال

لقد قمت مؤخرًا بتثبيت .net 3.5 SP1.عندما قمت بنشر موقع ويب مجمع يحتوي على نموذج مع مجموعة الإجراءات الخاصة به:

<form id="theForm" runat="server" action="post.aspx">

لقد تلقيت هذا الخطأ.
لم يتم العثور على الطريقة:"إفراغ System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)".
إذا قام مطور زميل لم يقوم بتثبيت SP1 بنشر الموقع المترجم فإنه يعمل بشكل جيد.هل يعرف أحد أي حلول لهذا؟

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

المحلول

يحاول .NET 3.5 SP1 استخدام سمة الإجراء = "". (.NET 3.5 RTM لم يفعل ذلك).لذلك، عندما تقوم بالنشر، تحاول التعليمات البرمجية الخاصة بك تعيين خاصية HtmlForm.Action وتفشل، لأن System.Web.dll الموجود على هدف النشر هو RTM ولا يحتوي على أداة ضبط على الخاصية.

نصائح أخرى

لا أعرف الحل المحدد، ولكن HtmlForm.set_Action() هي وظيفة ينشئها المترجم وتعمل كمحدد لخاصية تسمى Action.

عندما تفعل:

public String Action { set { DoStuff(); } }

ال تعيين يصبح الكود في الواقع وظيفة تسمى set_Action.

أعلم أنها ليست الإجابة الأفضل، لكني آمل أن تساعدك في العثور على مصدر مشاكلك!

لقد واجهت نفس المشكلة.مما فهمته، يرجع السبب في ذلك بالفعل إلى حقيقة أن جهاز الكمبيوتر الخاص بي يحتوي على .NET 3.5 SP1، وأن الخادم الذي قمت بنشر المشروع عليه لا يحتوي عليه.
من ما أفهمه، أحد الحلول هو تحديث الخادم باستخدام .NET 3.5 SP1.وبما أنني لا أرغب في القيام بذلك بعد، فقد قمت للتو بإزالة سمة "الإجراء" من كافة النماذج الموجودة في المشروع، مما أدى إلى حل المشكلة.
اقرأ أكثر

يمكن استخدام الطريقة هنا لتعيين طريقة form.action:

كل ما ذكر أعلاه صحيح..

في الواقع، عندما يقوم أحد بتثبيت 3.5 SP1، فإنه يقوم تلقائيًا بتحديث 2.0 و3.0 باستخدام SP2 الخاص به.لذا، إذا كنت تستخدم الإصدار 2.0 لأحد التطبيقات، فسوف تحصل على الخطأ.

بالإضافة إلى ذلك، لم تتسبب حزمة الخدمة SP1 الموجودة على .Net2.0 في حدوث المشكلة.

هناك حل آخر لهذا.اكتب جافا سكريبت من شأنه أن يضبط إجراء النموذج على عنوان url المتوقع عند Page_Load وتسجيل البرنامج النصي عند تحميل الصفحة.

شكرًا،http://www.dilrukshidevapriya.blogspot.com

قم بتثبيت إطار العمل 3.5 SP1 الذي يعمل.

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