Я хочу добавить и удалить локализованные имена для объекта страны через ajax.Поэтому я построил два частичных представления.В первом содержится функция общего назначения редактирования для страны-объекта, а во втором частичном представлении (которое будет отображаться внутри первого) содержится логика для добавления / удаления локализованных имен.
1-е частичное представление:
@model CountryViewModel
// scripts here
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
[...] // the fields of the object to edit...
</fieldset>
}
// this tag will be updated by the partial view
<div id="localizedNamesOverview">
@Html.Partial( "LocalizedNamesOverview",
Model.LocalizedNames,
new ViewDataDictionary
{
{ "countryId", Model.CountryId }
} )
</div>
2-е частичное представление:
@model IEnumerable<LocalizedNameViewModel>
<table>
@foreach (var item in Model)
{
<tr>
<td> @item.Language </td>
<td> @item.Name </td>
<td>
@Ajax.ActionLink( "Delete",
"DeleteLocalizedName",
"Country",
new { countryId = this.ViewData[ "countryId" ],
localizedNameId = item.CountryI18nId },
new AjaxOptions
{
UpdateTargetId="localizedNamesOverview",
InsertionMode=InsertionMode.Replace,
HttpMethod="POST"
} )
</td>
</tr>
}
@using( Ajax.BeginForm( "AddLocalizedName",
"Country",
new { countryId = this.ViewData[ "countryId" ] },
new AjaxOptions
{
UpdateTargetId = "localizedNamesOverview",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST"
} ) )
{
<tr>
<td> <input class="text-box single-line" id="LanguageId" name="LanguageId" value="" type="text" /> </td>
<td> <input class="text-box single-line" id="Name" name="Name" value="" type="text" /> </td>
<td> <input type="submit" value="Add new localized name" /> </td>
</tr>
}
</table>
Выделенный контроллер возвращает 2-е частичное представление, когда локализованное имя либо добавляется, либо удаляется, и заменяет себя, добавляя содержимое в «localizedNamesOverview» из1-й вид.Пока это работает так, как я ожидал.
Проблема в том, что это поведение работает только один раз.Если я успешно добавил или удалил имя, я не могу удалить / добавить второе.На данный момент я не вижу, в чем проблема, потому что сгенерированный HTML выглядит равным после первой отправки.
Любая помощь приветствуется.
Спасибо