user450549
user450549

Reputation:

MVC calling a controller from another section and passing the model in

I have a page that has a search function in a controller which works well

[HttpPost]
public virtual ActionResult Search(SearchModel model)
{
    ...adds to IEnumerable and such
    return View(model);
}

My problem is I have another page with a search box, which I need to redirect to the same view as above. (parameters in the URL is not an option)

    @using (Html.BeginForm("Search", "Home", FormMethod.Post, null))
    {
       @Html.TextBoxFor(t => t.SearchModel) 
       <input.....
    } 

but it's not loading up the right URL, it's just adding it to the current one. so instead of example.com/Home/Search it's adding it to the end of where that form is currently located. So if the page was in example.com/About/SearchPage its adding the t.SearchModel to the About/Searchpage

Edit: I have two different Controllers and Views, ControllerA and ViewA works fine, it brings back the search results. I want ViewB, which has an input box, to call ViewA and use ControllerA search technique

Upvotes: 0

Views: 166

Answers (1)

Erik Funkenbusch
Erik Funkenbusch

Reputation: 93424

You have a nested form. This is not valid HTML. HTML does not allow you to put one form inside another form. You can have more than one form on a page, but you cannot nest them.

I'm also not sure what you mean by "another section", do you mean the @section keyword in Razor? Or do you mean an MVC area? Or something else?

Upvotes: 1

Related Questions