Mihai Alexandru-Ionut
Mihai Alexandru-Ionut

Reputation: 48367

How can I set name of @Html.DropDownList ?

I have a piece of code in Javascript which contains definition of a dropdownlist. I don't know how to pass parameter like name of the dropdownlist.

var x=1;
var block='<div class="col-md-3">' +
          '<div class="form-group">' +
               '<label for="Address">Adresa '+ addressOUPIndex+' de la OUP</label><br />' +
               '@Ajax.JavaScriptStringEncode(Html.DropDownList("addresses["+ (x- 1) + "].Address",EnumHelper.GetSelectList(typeof(EPURE.Common.Enums.AdresaOUP)), null, new { @class = "selectpicker Address"}).ToHtmlString())' +
                                                                         ^^^^^^^^^^^
          '</div>' +
'</div>' +

I receive follow error:

The name 'x' does not exist in the current context

Upvotes: 1

Views: 160

Answers (1)

Denis Bubnov
Denis Bubnov

Reputation: 2795

Try to replace your string:

var replacedVariable = 1; // unique name inside your 'myString' for replace
var myString = '@Ajax.JavaScriptStringEncode(Html.DropDownList("addresses[replacedVariable].Address",EnumHelper.GetSelectList(typeof(EPURE.Common.Enums.AdresaOUP)), null, new { @class = "selectpicker Address"}).ToHtmlString())';
myString = myString.replace('replacedVariable', replacedVariable); // addresses[1].Address

var block='<div class="col-md-3">' +
      '<div class="form-group">' +
           '<label for="Address">Adresa '+ addressOUPIndex+' de la OUP</label><br />' +
          myString  +                                                  
      '</div>' +
'</div>'

Upvotes: 1

Related Questions