Okay, dość proste pytanie. Myślę, że muszę wpaść w pewne znaki ucieczki, ale nie jestem do końca pewien, gdzie.Jak przekazać wartości modelu jako parametry funkcji javascript z wewnątrz pomocnika HTML mvc asp.net takie Html.Radio?
Oto funkcja javascript Ja próbuje zadzwonić:
function setData(associateValue, reviewDateValue) {
var associate = document.getElementById("Associate");
var reviewDate = document.getElementById("ReviewDate");
associate.value = associateValue;
reviewDate.value = reviewDateValue;
}
Oto ASP.NET MVC linia gdzie ja próbuje utworzyć przycisk radio z zdarzenie click, który wywołuje powyższą funkcję i przekazuje dane z modelu jako wartości parametrów javascript.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>')" })%>
Powyższe powoduje kilka kompilacji problemów i nie działa. Wywołanie takie jak poniższe wywołuje javascript, ale nie pobiera danych z modelu.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate')" })%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate')" })%>
Myśli?
ROZWIĄZANIE
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate)) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall })%>
+1, po prostu dodaj kodowanie HTML, aby upewnić się, że możliwe cytaty w danych modelu są poprawnie usunięte. –
Uwielbiam tę odpowiedź. Bardzo prosta. – jason