المشكلة إضافة عناصر تحكم متعددة إلى العنصر النائب الذي تم إرجاعه بواسطة الوظيفة

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

  •  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 دورة حياة مخادع.

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