У меня есть представление, отображающее активы для учетной записи.returnUrl in Partial Views
@{
string returnUrl = returnUrl = Url.Action("Details", "AccountEntries", new { page = Model.Pages.Page }, null);
}
...
@foreach (ViewDetails.ViewAsset item in Model.ViewAssets)
{
<tr>
<td>
@item.Asset.Description
</td>
<td>
@item.Asset.Amount.ToGBString()
</td>
<td>
@Html.ActionLink("Edit", "Edit", "Assets", new { id = item.Asset.Id, returnUrl = returnUrl }, null)
</td>
</tr>
}
Я хочу, чтобы динамически вставить (создать) строки, используя частичный вид и Аякса.
@{
string returnUrl = returnUrl = Url.Action("Details", "AccountEntries", new { page = Model.Pages.Page }, null);
}
...
@foreach (ViewDetails.ViewAsset item in Model.ViewAssets)
{
@Html.Partial("_Asset", item)
}
с частичным видом:
@model ViewDetails.ViewAsset
<tr>
<td>
@Model.Asset.Description
</td>
<td>
@Model.Asset.Amount.ToGBString()
</td>
<td>
@Html.ActionLink("Edit", "Edit", "Assets", new { id = Model.Asset.Id, returnUrl = returnUrl }, null)
</td>
</tr>
и AJAX:
public ActionResult MyAjaxAction(MyViewModel model)
{
return PartialView("_Asset", model);
}
ПРОБЛЕМА: Мой returnUrl
генерируется в главном окне, и я не знаю, как использовать его в частичном представлении как для представления, так и для вызова ajax.
Для просмотра, я мог бы передать его с помощью ViewDataDictionary
, но тогда как мне сделать то же самое с звонком Ajax? Я посылаю Url в сообщении Ajax или есть лучший способ сделать это?
Разве вы не хотите использовать ViewModel для этого случая? –
Вы говорите, что я должен сохранить returnUrl в модели представления? – CapIsland
Yeap, почему бы и нет? если вы передадите int в ваш partialView. –