Domanda

Ho bisogno la possibilità di impostare dinamicamente un onclick utilizzando un Helper HTML. il sotto è quello che sto cercando di fare, ma sto ottenendo un errore di sintassi

<%=Html.CheckBox("checkboxname", item.Id = 3, New With {.onclick = "ajaxThis(this, <%= Html.Encode(item.ID) %>, '<%= Html.Encode(item.NUMBER) %>');"})%>
È stato utile?

Soluzione

Il primo passo sarebbe quello di rimuovere il <% =%> da <% = Html.Encode (item.ID)%> e chiamare Html.Encode (item.ID) direttamente. Fate lo stesso con la codifica item.NUMBER.

Qualcosa di simile:

"ajaxThis(this, " + Html.Encode(item.ID) + ", '" + Html.Encode(item.NUMBER) + "');"

Altri suggerimenti

Stai per entrare una stringa, quindi basta concat stringa invece:

<%= Html.CheckBox("checkboxname", item.Id = 3, New With {.onclick = String.Concat("ajaxThis(this, ", Html.Encode(item.ID), ", '", Html.Encode(item.NUMBER), "');")})%>

Tuttavia, sarebbe probabilmente più facile da aggiungere solo una classe CSS e collegare un gestore di eventi utilizzando jQuery .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top