Utilizzo pagine master e sto aggiungendo dinamicamente caselle di testo nascoste nel modulo con i nomi che si aspettano da Google Checkout.Come si assegna un NOME specifico a un tag quando si utilizzano le pagine master?
<input name="item_name_1" type="hidden" value="Widget #1"/>
Utilizzando VB.NET, eseguo il seguente codice
'Name
Dim hidName As New HtmlInputHidden
hidName.ID = "item_name_" & count.ToString
hidName.Value = item
Form.Controls.Add(hidName)
Ma perché io uso pagine master, il controllo viene rinominato "ctl00 $ item_name_1".
<input name="ctl00$item_name_1" type="hidden" id="ctl00_item_name_1"
Nota che ho cercato di impostare la proprietà Nome (hidName.Name = "item_name_" & count.ToString) ed anche cercato di aggiungere il nome nella lista Attributi. Questo stranamente non ha avuto alcun effetto sull'attributo name. Quando non utilizzo le pagine master, noto che quando imposto la proprietà ID, a NAME viene automaticamente assegnato lo stesso valore.
C'è un modo per controllare il nome di un controllo aggiunto in modo dinamico quando si utilizzano le pagine master?
ClientIDMode è disponibile solo in asp.net Webforms 4.0, credo. –
@Chad Sì, è stato introdotto in .Net Framework 4.0. Ho rivisto la risposta per essere più completa, grazie. – tiago2014