Хорошо, довольно простой вопрос.Я думаю, что мне нужно добавить несколько escape-персонажей, но я не совсем уверен, где.
Вот функция javascript, которую я пытаюсь вызвать:
function setData(associateValue, reviewDateValue) {
var associate = document.getElementById("Associate");
var reviewDate = document.getElementById("ReviewDate");
associate.value = associateValue;
reviewDate.value = reviewDateValue;
}
Вот строка asp .net mvc, где я пытаюсь создать кнопку Radio с событием click, котороевызывает вышеуказанную функцию и передает данные из модели в виде значений параметров javascript.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )" } )%>
Вышеприведенное вызывает множество проблем компиляции и не работает.Вызов, подобный следующему, вызывает javascript, но не получает данные из модели.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
Мысли?
РЕШЕНИЕ
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall } )%>