У них есть полностью различная семантика.
AddRange изменяет список путем добавления других объектов к нему.
Concat возвращает новую последовательность, содержащую список и другие объекты, не изменяя список.
Выбирают, какой бы ни у каждого есть семантика, которую Вы хотите.
Вот как я это делаю с помощью jquery:
function DoAjaxPostAndMore(btnClicked)
{
var $form = $(btnClicked).parents('form');
$.ajax({
type: "POST",
url: $form.attr('action'),
data: $form.serialize(),
error: function(xhr, status, error) {
//do something about the error
},
success: function(response) {
//do something with response
LoadBooks();
}
});
return false;// if it's a link to prevent post
}
Я предполагал, что btnClicked находится внутри формы:
<input type="button" value="Submit" onclick="DoAjaxPostAndMore(this)"/>
если ссылка:
<a href="/url/something" onclick="return DoAjaxPostAndMore(this)">linktext</a>
Если ссылка не внутри формы, которую вы просто нужно использовать селекторы jquery, чтобы найти его. Вы можете установить id для формы, а затем найти такую форму:
var $form = $("#theformid");
Выполняется ли ваша функция JavaScript "onclick", и проблема в том, что полная отправка / обновление страницы также происходит ? В этом случае проблема в том, что вы не завершаете свою функцию JavaScript с помощью return false
.
Или проблема в том, что ваша функция JavaScript «onclick» вообще не вызывается? Тогда сложно сказать, не глядя на код ... Если вы используете селектор JQuery - то, вероятно, ссылка не выбрана селектором
Вам нужно использовать Ajax.BeginForm
, а не Html.BeginForm
?
<a href = "javascript: SaveProperties();">Save properties</a>
SaveProperties() { $('#bevpropform').submit(); }
Как я уже сказал, должно быть
SaveProperties() { $('#bevpropform').submit(); return false; }