gpt4 book ai didi

JQuery Form Post 未将 FormCollection 发送到 MVC Controller

转载 作者:行者123 更新时间:2023-12-01 07:35:41 25 4
gpt4 key购买 nike

我试图通过表单中的下拉列表更改来更改 View 中 PartialView 中的数据。现在,如果我点击提交按钮,我的表单发布没有问题,并且 formcollection 可用,但是当我尝试通过 jquery 提交更改事件时,表单提交正常,但没有 formcollection

有什么想法吗?

这是提交代码

$(function() {
$('#ddlSelection').change(function() {
var form = $("#myForm");
var action = form.attr("action");
var serializedForm = form.serialize();
$.post(action, serializedForm, function() { alert("Finished!") });
});
});

表格是这样的

    <% using (Ajax.BeginForm("myForm", new AjaxOptions
{
UpdateTargetId = "divItemsList",
OnComplete = "ClearForm"
}))
{%>


<%=Html.Label("ddlFilter", "Parent Filter")%>
<%=Html.DropDownList("ddlFilter", "Please Select ...")%><br />



<fieldset>
<legend>Filter Option Details</legend>
<p>
<label for="Value">Value:</label>
<%= Html.TextBox("Value") %>
<%= Html.ValidationMessage("Value", "*") %>
</p>
</fieldset>
<%}%>

解决方案好的,应该更加注意,Ajax.Beginform 标记没有为表单提供 id 或名称,我认为他们认为这是不必要的,因此解决方案是手动添加 htmlattributes。就这样..

<% using (Ajax.BeginForm("TheAction", null, new AjaxOptions
{
UpdateTargetId = "divFilterItemsList",
OnComplete = "ClearForm"
}, new { ID = "myForm", Name = "myForm" }))
{%>

最佳答案

jQuery documentation

In order to work properly serialize requires that form fields have a name attribute. Having only an id will not work

我会检查以确保所有表单元素都有 name 属性。

关于JQuery Form Post 未将 FormCollection 发送到 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2051037/

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