gpt4 book ai didi

c# - Html.BeginForm Post 转到 HttpGet 操作而不是 IE 中的 HttpPost,在 Chrome 和 Firefox 中很好

转载 作者:太空狗 更新时间:2023-10-29 20:21:14 24 4
gpt4 key购买 nike

我的 Razor View 中有以下内容:

 @using (Html.BeginForm("Edit", "MyController", FormMethod.Post))
{
<div class="grid_1">&nbsp;</div>
<div id="ValSummary"> @Html.ValidationSummary(false)</div>


@Html.EditorFor(x => x.Role, MVC.Shared.Views.EditorTemplates.KeyValuePairSelectList, new { SelectListOptions = Model.RoleSelectList })<br /><br />
@Html.EditorFor(x => x.Trust, MVC.Shared.Views.EditorTemplates.KeyValuePairSelectList, new { SelectListOptions = Model.TrustSelectList.OrderBy(x => x.Text) })<br /><br />
@Html.EditorFor(x => x.GmcCode)<br /><br />


<div class="createbutton">
<input id="btnGoBack" type="button" value="Back"/>
<input id="btnSubmit" type="button" value="Submit" />
</div>

}

在我的 Controller 中我有

[HttpGet]
public virtual ActionResult Edit(string id)
{
}

[HttpPost]
public virtual ActionResult Edit(ViewModel viewModel)
{
}

在 Firefox 和 Chrome 中,一切正常,但在 IE 中,当提交表单时,触发的是 HttpGet 操作,而不是 HttpPost。

调用堆栈或 IE 开发人员工具控制台中没有任何线索。

有什么明显的我遗漏的吗?

最佳答案

您的提交按钮应该是真实的 submit button使用 type="Submit"

<input id="btnSubmit" type="submit" value="Submit" />

在所有浏览器中正确提交表单。

请参阅此 SO 问题以了解更多差异:Difference between <input type='button' /> and <input type='submit' />

关于c# - Html.BeginForm Post 转到 HttpGet 操作而不是 IE 中的 HttpPost,在 Chrome 和 Firefox 中很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966345/

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