gpt4 book ai didi

c# - 部分 View 和 html 表单 Asp Mvc

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:01 27 4
gpt4 key购买 nike

我正在尝试呈现包含简单 html 表单的部分 View 。我想在处理来自重载 Controller 方法的回发时从 Controller 呈现表单。我试过 @Html.Action("ContactForm") 但我得到一个异常,因为子操作无法重定向。

我的 Controller :

public ActionResult Index()
{
return View();
}

[HttpGet]
public ActionResult ContactForm()
{
return PartialView(new ContactForm());
}

[HttpPost]
public ActionResult ContactForm(ContactForm Contact)
{
return RedirectToAction("FormResults", new { ContactForm = Contact });
}

public ActionResult FormResults(ContactForm Contact)
{
return PartialView(Contact);
}

我的表格:

@using(Html.BeginForm())
{
<h2>Contact Form</h2>
<div class="input-group">
<h4>@Html.LabelFor(m => m.FirstName, "First Name")</h4>
@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control", @placeholder = "First Name" })
</div>
<div class="input-group">
<h4>@Html.LabelFor(m => m.LastName, "Last Name")</h4>
@Html.TextBoxFor(m => m.LastName, new { @class = "form-control", @placeholder = "Last Name" })
</div>
<div class="input-group">
<h4>@Html.LabelFor(m => m.Email, "Email")</h4>
@Html.TextBoxFor(m => m.Email, new { @class = "form-control", @placeholder = "Email", @type = "text" })
</div>

<input type="submit" class="btn btn-info" value="Submit" />
}

任何有关如何实现此目的的帮助都将不胜感激。

最佳答案

尝试用一个 div 和一个特定的 id 包围表单并使用:

@using(Ajax.BeginForm("ContactForm","YourController",new AjaxOptions()
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "yourCertainId",
HTTPMethod = "POST"
})

和您的 ActionMethod:

[HttpPost]
public ActionResult ContactForm(ContactForm Contact)
{
return Partial("YourPartialName", Contact });
}

确保在 View 底部包含 bundle jqueryval。

你不需要第二个 Controller 方法“FormResults”

关于c# - 部分 View 和 html 表单 Asp Mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743523/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com