المشكلة إضافة عناصر تحكم متعددة إلى العنصر النائب الذي تم إرجاعه بواسطة الوظيفة
-
12-09-2019 - |
سؤال
لدي وظيفة تنشئ عناصر تحكم متعددة. أساسا الحقول الإدخال و ImageButton مع البيانات الديناميكية لزر دفع الأمازون.
كيف يمكنني إضافة هذه الضوابط إلى عنصر نائب حتى يتم تقديمها على الصفحة؟
حاولت إنشاء عنصر نائب داخل الوظيفة، وإضافة عناصر تحكم وإرجاع العنصر النائب.
plhCart = returnedPlaceHolder()
ومع ذلك، لم تقدم الضوابط عند القيام ب PLHCART.CONTROLS.Count كانت القيمة صحيحة.
هذه هي الوظيفة إنشاء عناصر تحكم وإضافةها إلى كائن عنصر نائب:
Protected Function GetPayNowWidgetForm(ByVal formHiddenInputs As SortedDictionary(Of [String], [String])) As PlaceHolder
Dim payButton As New ImageButton
Dim plhForm As New PlaceHolder
Dim counter As Integer = 1
payButton.ID = "imgPayButton"
payButton.PostBackUrl = "https://authorize.payments-sandbox.amazon.com/pba/paypipeline"
payButton.ImageUrl = "https://authorize.payments-sandbox.amazon.com/pba/images/GMPayNowWithAmazon.png"
plhForm.Controls.Add(payButton)
' Add the Key/Value pairs from formHiddenInputs
For Each kvp As KeyValuePair(Of [String], [String]) In formHiddenInputs
Dim hiddenField As HtmlControl = New HtmlControls.HtmlInputHidden
' Dim hiddenField As New HiddenField
hiddenField.Attributes.Add("name", kvp.Key)
hiddenField.Attributes.Add("value", kvp.Value)
plhForm.Controls.Add(hiddenField)
counter += 1
Next
Return plhForm
End Function
أنا الآن باستخدام اقتراح Steve Temple وإضافة هذا العنصر النائب المرتجوع إلى العنصر النائب على صفحتي باستخدام
plhCart.Controls.Add(GetPayNowWidgetForm(...))
هذا يعمل بشكل جيد، وربما أفضل مما طرحته في الليلة الماضية. الحل الأصلي هو إنشاء عناصر تحكم وإرجاعها كمنظام. ثم استحقاق من خلال مجموعة لإضافة كل عنصر تحكم إلى العنصر النائب.
المحلول
من الصعب أن تعرف بالضبط ما هي المشكلة دون معرفة المزيد قليلا.
أضف عناصر التحكم في طريقة Page_init مثل ذلك:
plhcart.controls.add (returnedplaceholder ())؛
وهذا يجب أن يضيفهم وتقديمهم في الصفحة
نصائح أخرى
asp.net دورة حياة مخادع.