2

Hoping someone can help me solve this issue. I'm using Ajax.BeginForm quite often when I need to update a part of my actual webpage. But if I have a second button in the web form where I need go to a complete different page, and for example do a search and get some values that I need to complete the form. The page turns up in the update panel (updateTargetID) instead of in a complete new View. That is happening even id a do a RedirectToAction in the controller. Of course the ajax.beginform does what I accept it to do, in other words update the panel that shall be updated. But is there a way to get ajax.Beginform to use redirectToaction without updating when the user is choosing to do for example a search instead of sending the form?


I'm working with asp.net MVC, Problem;

<% using (Ajax.BeginForm(new AjaxOptions() { LoadingElementId = "loadingElement", UpdateTargetId = "SearchResult", InsertionMode = InsertionMode.Replace}))  
   {%>
<% Html.RenderPartial("Searchfields", Model); %>
<div>
    <%:Html.ActionLink("blank", "Index")%>
</div>
<div id="loadingElement" style="display: none">
    Load data...
</div>
<div id="SearchResult">
    <% if (Model.SearchResult != null)
       {
           Html.RenderPartial("SearchResult", Model.SearchResult);
       } %>
</div>
<% } %> 

In the controller (post) I do this among other stuff;

if (Request.IsAjaxRequest())
        {
            return PartialView("SearchResult", data.SearchResult);
        }

But before this I need to do:

if (data.SearchResult.Count() == 1)
        {
            return RedirectToAction("Edit", "Person", new { Id = data.SearchResult.First).Id});
        }

but ofcourse if I do that the hole page i rendered in the corresponding updateTargetId, I need to render a new view instead. So how can I for exampel use javascript to redirect oncomplete and have the values from the model sent to the script to for exampel do a window.location.replace? I'm struggling with javascript, so please help me!

tereško
  • 58,060
  • 25
  • 98
  • 150
Ulrika
  • 21
  • 3
  • see this answer: [http://stackoverflow.com/questions/3534956/how-can-i-redirecttoaction-within-ajax-callback](http://stackoverflow.com/questions/3534956/how-can-i-redirecttoaction-within-ajax-callback) – Haroon Mar 13 '11 at 08:52
  • Thank's for your answer, But still I haven't resolved this problem in a nice way. For exampel I have this; see below – Ulrika May 16 '11 at 12:55
  • Sorry, see my post as a answer to my own question! – Ulrika May 16 '11 at 13:19

0 Answers0