c# - How to correctly combine javascript with razor syntax -


i have following code in razor view, need set javascript variables set value coming razor.

however values of variables not being set.

var listpuntos =[];     function onselect(e) {         var dataitem = this.datasource.view()[e.item.index()];         @{             var proveedorid = 0;             <text>proveedorid = dataitem.proveedorid</text>             var list = new unitofwork().puntosventaproveedorrepository.get().where(x => x.proveedorid == proveedorid);             proveedorid = 0;             <text>listpuntos = list; </text>;             <text>                 var displaytext;                 $.each(listpuntos, function (key, value) {                     if (displaytext == undefined)                         displaytext = value.nombre + ', ';                     else                         displaytext = displaytext + value.nombre + ', ';                 });                 document.getelementbyid("puntos").value = displaytext.slice(0,-2);             </text>         }      } 

given concrete example, start reducing number of <text> blocks needed instead wrapping shorter c# bits @{ … }. improves readability & lessens confusion. example:

var listpuntos =[];     function onselect(e) {         var dataitem = this.datasource.view()[e.item.index()];         @{ var proveedorid = 0; }         proveedorid = dataitem.proveedorid;         @{ var list = new unitofwork().puntosventaproveedorrepository.get().where(x => x.proveedorid == proveedorid); }         proveedorid = 0;         listpuntos = @json.encode(list);         var displaytext;         $.each(listpuntos, function (key, value) {             if (displaytext == undefined)                 displaytext = value.nombre + ', ';             else                 displaytext = displaytext + value.nombre + ', ';         });         document.getelementbyid("puntos").value = displaytext.slice(0,-2);     } 

next, inject c# value javascript code being emitted server, need encode value in javascript. best way convert json. done above using json.encode. in particular, line reading:

        listpuntos = @json.encode(list); 

i've used json.encode of course free use whatever json library du jour fits project.


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

post - imageshack API cURL -

dataset - MPAndroidchart returning no chart Data available -