複数のコントロールを作成する関数があります。主に入力フィールドと、Amazonの支払いボタンの動的データを含む画像ボタン。関数によって返されるプレースホルダに複数のコントロールを追加する問題
これらのコントロールをプレースホルダに追加してページ上にレンダリングするにはどうすればよいですか?
私は、関数の中にプレースホルダを作成し、コントロールを追加してプレースホルダを返そうとしました。
ただし、plhCart.Controls.Countで値が正しい場合、コントロールはレンダリングされませんでした。
plhCart.Controls.Add(GetPayNowWidgetForm(...))
を使用して、私は今、スティーブ寺の提案を使用しています
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
、これは私のページのプレースホルダにプレースホルダを返さ追加:
これは、関数のコントロールを作成し、プレースホルダーオブジェクトに追加することがあります
これは正常に動作しています。おそらく、昨夜のことよりも優れています。私の最初の解決策は、コントロールを作成し、それをsystem.arrayとして返すことでした。その後、配列をループして、各コントロールをプレースホルダに追加します。
ページにそれらを追加し、それらをレンダリングする必要がありますか?ページにプレースホルダを追加していますか? – womp