开发者

ASP.NET MVC 2: ViewData.Model.ExecuteResult not existing

ViewData.Model.ExecuteResult does not exist in ASP.NET MVC2, but in MVC1.

What is the alternative in ASP.NET MVC2?

What I want to do, is to update a table after an ajax request. So I put the table in an extra View. How can I update this partial view without loading the whole page ag开发者_StackOverflow社区ain?


ExecuteResult is a method on the System.Web.Mvc.ActionResult class. Are you sure you don't mean to be looking there?

http://aspnet.codeplex.com/SourceControl/changeset/view/23011#266522

The Model property is just an object type, and always has been, AFAIK.

As for updating the table, what I've done in the past, to update a portion of a page after a partial view is to use Ajax.BeginForm like so:

<% using (Ajax.BeginForm("Customers", new AjaxOptions { UpdateTargetId  = "customerList"})) { %>
    <!-- FORM HERE -->
<% } %>
<div id="customerList">
    <% Html.RenderPartial("CustomerList"); %>
</div>

'UpdateTargetId' is the key here, and tells MVC to use the result of the "Customers" action to replace (by default, you can append by setting the InsertionMode AjaxOption to InsertBefore or InsertAfter) everything inside the element withthe Id you specify.

If you want to use the same action to service the full page request and the Ajax request, you can use the IsAjaxRequest extension method to determine what to return:

if (Request.IsAjaxRequest())
    return PartialView("CustomerList");

// Not an Ajax request, return the full view
return View();

Hope that helps!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜