与表单提交共享视图的反馈

我有我的主要共享视图(_Layout):

<div class="slide-out-div">
    <a class="handle" href="http://link-for-non-js-users">Content</a>
    @{Html.RenderAction("Feedback", "Home");}
</div>

这是一个包含表单的滑动面板(作品,无需担心)。 (Feedback.cshtml)该控制器/动作得到正确的视图,但当我做提交时,整个视图被更新,我只想让“RenderAction”更新为另一个视图“谢谢”

我的表单(Feedback.cshtml)如下所示:

@model project.FeedbackViewModel
@{
    ViewBag.Title = "Feedback";
}

<h2>Feedback</h2>
@using (Html.BeginForm("Feedback", "Home", FormMethod.Post))
{
    @Html.ValidationSummary()
    <p>User:</p>
    <p>@Html.TextBoxFor(m => m.UserName, new { @readonly = "readonly" })</p>
    <p>Last Name:</p>
    <p>@Html.TextBoxFor(m=>m.UserEmail, new { @readonly = "readonly" })</p>

    <p>Message:</p>
    <p>@Html.TextAreaFor(m=>m.Description, new { @cols = 80, @rows = 10 })</p>
    <input type="submit" value="Submit" />
}

该行动称:

公众的ActionResult反馈(){/等等等等等等

        return PartialView(fbVM);
    }

    [HttpPost]
    public ActionResult Feedback(FeedbackViewModel model)
    {
        if (ModelState.IsValid)
        {
            //put data in DB
            return View("~/Views/Home/FeedbackThanks.cshtml");
        }

        return View(model);
    }

我应该返回一个PartialView吗? 更改RenderAction? 我究竟做错了什么?

get方法起作用。 返回视图解决方案给出了这个错误:

异常详细信息:System.InsufficientExecutionStackException:堆栈不足以继续安全地执行程序。 这可能是由于调用堆栈上的函数过多或者堆栈空间太多而导致堆栈函数发生。

如果我使用PartialView,整个页面将呈现新视图,而不仅仅是反馈div。

链接地址: http://www.djcxy.com/p/50947.html

上一篇: Feedback on shared view with form submit

下一篇: RenderAction and Partials with output caching