Это буквально пятый день, когда я пытаюсь решить эту проблему.Определение функции SubmitSurvey не найдено, но я определил его
Я пытаюсь вызвать метод с помощью кнопки в Razor View, без перенаправления к другим представлениям, просто вызовите простой метод при нажатии кнопки.
Сценарий выглядит следующим образом:
<script>
function SubmitClick() {
var pid = $(this).data('personid');
var sid = $(this).data('surveyid');
var url = '@Url.Action("SubmitSurvey", "Person")';
$.post(url, { personid: pid, surveyid: sid }, function (data) {
alert('updated');
});
};
</script>
Кнопка выглядит следующим образом:
<button class='mybutton' type='button' data-personid="@Model.Item1.Id" data-surveyid="@survey.Id" onclick="javascript:SubmitClick()">Click Me</button>
Метод PersonController выглядит следующим образом:
public void SubmitSurvey(int personId, int surveyId) {
System.Diagnostics.Debug.WriteLine("UPDATING DATABASE");
}
Полный вид (это PartialView):
<script>
function SubmitClick() {
var pid = $(this).data('personid');
var sid = $(this).data('surveyid');
var url = '@Url.Action("SubmitSurvey", "Person")';
$.post(url, { personid: pid, surveyid: sid }, function (data) {
alert('updated');
});
};
</script>
@using WebApplication2.Models
@model System.Tuple<Person, List<Survey>>
<hr />
<h1>Surveys</h1>
<input type="button" id="Coll" value="Collapse" onclick="javascript:CollapseDiv()" />
@*<p>
Number of Surveys: @Html.DisplayFor(x => Model.Item2.Count)
</p>*@
@{int i = 1;}
@foreach (var survey in Model.Item2) {
using (Html.BeginForm()) {
<h2>Survey @(i)</h2>
<p />
@Html.EditorFor(x => survey.Questions)
<button class='mybutton' type='button' data-personid="@Model.Item1.Id" data-surveyid="@survey.Id" onclick="javascript:SubmitClick()">Click Me</button>
}
i++;
<hr style="background-color:rgb(126, 126, 126);height: 5px" />
}
<hr />
Проблема заключается в том, что при нажатии на кнопку:
я получаю сообщение об ошибке выполнения говоря, что нет никакого определения: "SubmitClick"
.
Из любопытства у вас есть jQuery, так почему вы программируете события непосредственно на элементах HTML, таких как 1999? –
Можете ли вы опубликовать весь HTML-код, созданный в представлении? –
Возможный дубликат [Связывание скрипта с кнопкой в ASP.NET MVC Razor View] (http://stackoverflow.com/questions/25559610/associating-script-with-a-button-in-asp-net-mvc-razor -view) –