У меня есть несколько ajax-форм на странице, которые содержат одни и те же элементы, у меня есть функция jquery для succes, которая ищет дочерние элементы формы и обновления, но мне нужно как-то передать Id формы, которая отправила запрос контроллеру вместе с другими значениямиИз формы, каков наилучший способ сделать это?Возможно, добавьте скрытое поле в форму и при загрузке страницы получите parentid и поместите его в это поле с помощью jQuery.Но я не знаю, как хорошо это делать.
@using (Ajax.BeginForm("Index", "Controller",new AjaxOptions { OnFailure = "error", OnSuccess ="sucess" }))
{
<input type="submit" name="value" class="up" value="1" />
<span class="result">0</span>
<input type="submit" name="value" class="down" value="-1" />
}
public ActionResult Index(int value ,string formID)
{
//do something
}
function sucess(arg) {
var json = $.parseJSON(arg.responseText);
var form = $("form#" + json.FormID);
var up = form.children('input.up');
var down = form.children('input.down');
form.children('span.result').replaceWith(json.Result);
if (json.Result == 1) {
up.addClass('active');
}
if (json.Result == -1) {
down.addClass('active');
}
}
ОБНОВЛЕНИЕ: это частичное представление, которое загружается n раз, поэтому я не могу найти formID, пока страница не отобразится в браузере.