Я использую MVC 3 с диалоговым окном jquery n $ .ajax.
Я получил 1 View (Index.cshtml) с «кнопкой Создать» и сценарием, как показано ниже:
// Once generate is clicked, call GenerateList action
$('#generate').click(function () {
$.ajax({
async: false,
url: '/Shop/GenerateList',
type: 'GET',
success: function (result) { getShopListFood(result); }
});
});
getShopListFood - это просто действие контроллера, которое возвращает частичное представление:
// Function to generate shopListFood items based on shopListID
public ActionResult GetShopListFood(int shopListID)
{
var shopListFood = (from f in dbEntities.SHOPLISTFOODs where f.ShopListID == shopListID select f).ToList();
return PartialView("_ShopList", shopListFood);
}
Затем в частичном представлении я создаю диалоговое окно для загрузки другого частичного представления, которое является формой для создания нового экземпляра БД:
var $ creatialog = $ (''). load ('/ Shop / GetShopListFoodForm'). dialog ({
autoOpen: false,
title: 'Добавить новый элемент',
модальный: правда
});
$createdialog.dialog("option", "buttons", {
"Cancel": function () {
$createdialog.dialog('close');
},
"Submit": function () {
var frm = $('#formData');
$.ajax({
async: false,
url: '/Shop/AddItem',
type: 'POST',
data: frm.serialize(),
success: function (result) {
$('.shoplistfood').html(result);
$createdialog.dialog('close');
}
});
}
});
$('#additem').button().click(function () {
// Once clicked, create a dialog to load _ShopListFoodForm dialog
//clear();
$createdialog.dialog('open');
});
Однако у меня очень странная ситуация. 2-е создание будет просто дублировать данные в качестве 1-го. Например, я создаю ADD1 и отправляю, список магазинов обновляется, затем я ввожу ADD2 в диалоге формы и подтверждаю, что вместо действия ADD2 я получаю еще один ADD1 POST вместо действия.
Я использовал какой-то метод для многих других модулей в моем приложении, но никогда не сталкивался с такой проблемой. Я просто не знаю, что происходит не так!
Надеюсь, я прояснил проблему и могу получить некоторую помощь здесь ...
Действительно ценю это ..............