У меня есть страница, с которой я пытаюсь использовать renderpartial. Это первый раз, когда я попробовал это. Там есть вход и кнопка отправки. Это работает нормально, насколько получение данных. Проблема, с которой я сталкиваюсь, состоит в том, что частичное представление не имеет связанных с ними событий jQuery. JS находится в отдельном файле, который загружается при загрузке главной страницы. Я пытался использовать «живой» метод, и он не работает. Как заставить jQuery связываться с частичной страницей, когда я ее вызываю?
Вот страница, которая вызывает частичное представление:
@using (Ajax.BeginForm("TaskStudentDetail", new AjaxOptions { UpdateTargetId = "StudentDetail" })) {
<p>Enter the student ID: @Html.TextBoxFor(a => a.Id) <input id="Submit" type="submit" value="Lookup" /> <button id="StudentTaskLookupButton">Lookup</button></p>
}
<div id="StudentDetail">
</div>
Вот частичный вид:
<div id="TaskStudentTaskSelect">
<div id="TaskStudentTaskSelectLeft">
<p>Tasks Available</p>
<select id="TaskStudentTaskAvailableSelect" multiple="true">
<option>Task 1</option>
<option>Task 2</option>
<option>Task 3</option>
</select>
</div>
<div id="TaskStudentTaskSelectMiddle">
<p><button id="TaskStudentTaskSelectAll">>></button></p>
<p><button id="TaskStudentTaskSelectOne">-></button></p>
<p><button id="TaskStudentTaskDeselectOne"><-</button></p>
<p><button id="TaskStudentTaskDeselectAll"><<</button></p>
</div>
<div id="TaskStudentTaskSelectRight">
<p>Tasks Assigned</p>
<select id="TaskStudentTaskAssignedSelect" multiple="true">
<option>Task 1</option>
<option>Task 2</option>
<option>Task 3</option>
</select>
</div>
</div>
А вот и контроллер:
public ActionResult TaskStudentDetail(int id)
{
TaskStudentViewModel taskStudentViewModel = new TaskStudentViewModel();
taskStudentViewModel.FirstName = "John";
taskStudentViewModel.LastName = "Smith";
return this.PartialView(taskStudentViewModel);
}
И это jQuery, который я пытаюсь связать после вызова частичного рендера:
$("#TaskStudentTaskSelectAll").button().click(function () {
$("#TaskStudentTaskAvailableSelect option").appendTo("#TaskStudentTaskAssignedSelect");
});
Ничего особенного. Приведенные выше теги «button» имеют связанные с ними события кликов. Спасибо.