2016-04-22 2 views
4

У меня есть страница, которая вызывает другой частичный вид. Страница загружается отлично, но при наличии ошибки проверки она вызывает многократный вызов метода post.MVC Render Action on Post

код, который вызывает вопрос здесь:

<div> 
    @{Html.RenderAction("ViewUploadedDocs", "TrackingHome", new { number = @Model.Id.ToString() });} 
</div> 

Это должно вызвать следующий метод в контроллере.

public ActionResult ViewUploadedDocs(string number) 
    { 
     return PartialView(); 
    } 

Он не украшен [HttpGet] или [HttpPost]. Метод, который продолжает вызываться, ниже, чем метод post на странице.

[HttpPost] 
    [MultipleButton(Name = "action", Argument = "Save")] 
    public ActionResult Edit(EditScreenModelValidation model) 
    { 
     if (ModelState.IsValid) 
     { 
      return RedirectToAction("UserWorkflows", "Home", new { Area = "Workflow" }); 
     } 
     return View("Edit", model); 
    } 

Я прочитал на StackOverflow, где люди имеют страницы, призывающие метод столба, что они пытаются получить, но мина вызов метода после моей главной страницы, а не страницы, что я пытаюсь получить. Если я удаляю строку renderAction на моей главной странице, страница работает правильно, и действие не вызывает страницу редактирования в ней.

+5

Недостаточно информации в вопросе, чтобы отладить это. – Liam

+1

Какую еще информацию вы хотели бы видеть? – Nate

+2

Я не уверен ... и это проблема. Это похоже на то, что может решить только вы и люди с полным доступом к вашему коду. это, скорее всего, потому, что у вас мало просмотров, нет ответов и комментариев (кроме моей). Извините – Liam

ответ

0

RenderAction вызывает указанный дочерний метод действий и отображает результат в виде родительского представления (он вызывает действие). Вы должны использовать RenderPartial, если вам нужно передать текущий объект ViewDataDictionary или Partial, если вам нужно, чтобы указанное представление отображалось как строка с кодировкой HTML, в зависимости от того, что вы пытаетесь выполнить.