У меня есть это в HomeController :
public ActionResult Details(string id)
{
var customer = Customers.GetCustomersById(id);
return PartialView("CustomerDetails", customer);
}
И это в Index.aspx :
<div>
<% using (Ajax.BeginForm("Details", new AjaxOptions
{
UpdateTargetId = "customerDetails",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST"
}))
{ %>
<p>
Customer:
<%=Html.DropDownList("id")%></p>
<p>
<input type="submit" value="Details" /></p>
<% } %>
</div>
<div id="customerDetails">
</div>
И, наконец, в CustomerDetails.ascx У меня есть:
<fieldset>
<legend>Fields</legend>
<p>
Name:
<%= Html.Encode(Model.Name) %>
</p>
<p>
Credit:
<%= Html.Encode(Model.Credit) %>
</p>
<p>
CustomerID:
<%= Html.Encode(Model.CustomerID) %>
</p>
</fieldset>
<p>
<%=Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> |
<%=Html.ActionLink("Back to List", "Index") %>
</p>
CustomerDetails.ascx был создан путем щелчка правой кнопкой мыши на методе Details и выбора «Добавить представление», а также выбора частичного представления и строго типизированного представления.
Я бы хотел, чтобы это обновляло информацию о клиенте в «Ajax-манере» внутри div, называемого customerDetails внутри Index.html. Проблема в том, что после нажатия кнопки «Подробности» открывается новая страница с правильными деталями. Страница вывода не имеет цветов или макетов главной страницы.
Если я отлаживаю в методе Details, содержимое объекта customer будет правильным.
Любая помощь приветствуется!
/ П