Ajax表单在ASP MVC中具有不同的操作

用户1073075

在ASP.NET MVC中,我具有以下输入形式(简体):

<div id="ajaxtarget">
@using (Ajax.BeginForm("SubmitForm", "Home", new AjaxOptions { UpdateTargetId = "ajaxtarget" }))
{
        @Html.DropDownListFor(x => x.PostalCode, Model.PostalCodeItemList, new { @name = "PostalCodeId" , @id="PostalCodeId" })

        @Html.LabelFor(x => x.StreetCode)
        @Html.DropDownListFor(x => x.StreetCode, Model.StreetItemList, new {  @id="StreetCodeId" })

        ...
        <input type="submit" value="@Global.Execute" id="btnSubmit" />
}
</div>

当用户从第一个下拉列表中选择内容时,第二个下拉列表应通过AJAX填充。我可以通过javascript发送“调用”我的控制器来更新我的视图:

$(document).ready(function () {
        $('#PostalCodeId').on('change', function () {
            $(this).parents('form').submit();
        });
    });

我的问题是我的表单有很多不同的控件,这些控件会触发需要在控制器中处理的某些操作,因此我正在寻找一种在提交表单时添加一些额外参数的方法。

现在,我找到了一个解决方案,在该模型中,我在模型和表单中添加了一个额外字段,并根据触发该脚本的控件在javascript中填充了该字段。@Html.HiddenFor(x => x.ChosenControllerAction, new { id = "ChosenAction" })在我的控制器中,我可以基于此值返回视图或操作:

    public ActionResult SubmitForm(MyModel model) 
    {
        if (model.ChosenControllerAction == "PopulateStreetCodes")
        {
          ...
        }

我确信必须有其他/更好的方法来存档我想做的事情。以复杂的自我更新ajax形式返回正确的ActionResult的正确方法是什么

保罗·DS

正确的方法是为您要在控制器中执行的每个动作创建一个方法。您应该为每个操作使用一个javascript代码。

例子 :

控制器

public ActionResult PopulateFirstDropdown(MyModel model)
{
    // Return the new values for your first dropdownlist
    // Or the partial view
}

public ActionResult PopulateSecondDropdown(MyModel model)
{
    // Return the new values for your second dropdownlist
    // Or the partial view
}

public ActionResult SubmitForm(MyModel model)
{
    // Save the form
}

Javascript:

$('#FirstField').on('change', function() {
    $.ajax({
        url: "/YourController/PopulateFirstDropdown",
        type: "POST",
        data:  $(this).closest('form').serialize(),
        success: function (data) {
            // Use data to refresh dropdownlist
            // or refresh the content of the partial view
        },
    });
});

$('#OtherField').on('change', function() {
    $.ajax({
        url: "/YourController/PopulateSecondDropdown",
        type: "POST",
        data:  $(this).closest('form').serialize(),
        success: function (data) {
            // Use data to refresh dropdownlist
            // or refresh the content of the partial view
        },
    });
});

让我知道我的答案是否还不够清楚。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AJAX呈现的表单在RAILS中不发送任何参数

来自分类Dev

Spring MVC:表单处理操作中具有多个@ModelAttribute

来自分类Dev

带有 Ajax 的模态窗口中的表单在 FF 中不起作用?

来自分类Dev

具有表单操作的MVC传递参数

来自分类Dev

具有表单操作的MVC传递参数

来自分类Dev

如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

来自分类Dev

如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

来自分类Dev

ASP Net MVC中的表单操作属性有什么风险?

来自分类Dev

ASP Net MVC中的表单操作属性有什么风险?

来自分类Dev

表单在 Django 中无效

来自分类Dev

带引导程序的validator.js,您如何知道您的表单在AJAX表单上有效?

来自分类Dev

在 ASP.net MVC 5 中返回具有对象不良实践的不同视图吗?

来自分类Dev

表单在bootstrap-select中具有multiple的表单提交的值

来自分类Dev

表单在错误的按钮中单击提交

来自分类Dev

通过表单在Django中创建用户

来自分类Dev

为什么表单在 Django 中无效

来自分类Dev

Rails搜索表单在不同的控制器中?

来自分类Dev

输入中的标记表单在表单外不起作用

来自分类Dev

Ajax在MVC AsP.net中发布表单(验证)?

来自分类Dev

Ajax在MVC AsP.net中发布表单(验证)?

来自分类Dev

表单在FormData JavaScript中没有数据

来自分类Dev

具有不同成功功能的Ajax多种表单

来自分类Dev

具有不同成功功能的Ajax多种表单

来自分类Dev

ASP.NET MVC中具有jQuery非干扰性验证的页面上的多种表单

来自分类Dev

ASP.NET MVC AJAX表单提交在提交/发布操作后丢失ListBoxFor / MultiSelectList

来自分类Dev

带有ASP Classic的JQUERY AJAX登录表单

来自分类Dev

PHP POST方法表单在操作页面上的重定向

来自分类Dev

验证表单在提交之前输入ajax

来自分类Dev

ASP.NET MVC Ajax 提交带有 AntiforgeryToken 的表单和带有验证的序列化表单数据

Related 相关文章

  1. 1

    AJAX呈现的表单在RAILS中不发送任何参数

  2. 2

    Spring MVC:表单处理操作中具有多个@ModelAttribute

  3. 3

    带有 Ajax 的模态窗口中的表单在 FF 中不起作用?

  4. 4

    具有表单操作的MVC传递参数

  5. 5

    具有表单操作的MVC传递参数

  6. 6

    如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

  7. 7

    如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

  8. 8

    ASP Net MVC中的表单操作属性有什么风险?

  9. 9

    ASP Net MVC中的表单操作属性有什么风险?

  10. 10

    表单在 Django 中无效

  11. 11

    带引导程序的validator.js,您如何知道您的表单在AJAX表单上有效?

  12. 12

    在 ASP.net MVC 5 中返回具有对象不良实践的不同视图吗?

  13. 13

    表单在bootstrap-select中具有multiple的表单提交的值

  14. 14

    表单在错误的按钮中单击提交

  15. 15

    通过表单在Django中创建用户

  16. 16

    为什么表单在 Django 中无效

  17. 17

    Rails搜索表单在不同的控制器中?

  18. 18

    输入中的标记表单在表单外不起作用

  19. 19

    Ajax在MVC AsP.net中发布表单(验证)?

  20. 20

    Ajax在MVC AsP.net中发布表单(验证)?

  21. 21

    表单在FormData JavaScript中没有数据

  22. 22

    具有不同成功功能的Ajax多种表单

  23. 23

    具有不同成功功能的Ajax多种表单

  24. 24

    ASP.NET MVC中具有jQuery非干扰性验证的页面上的多种表单

  25. 25

    ASP.NET MVC AJAX表单提交在提交/发布操作后丢失ListBoxFor / MultiSelectList

  26. 26

    带有ASP Classic的JQUERY AJAX登录表单

  27. 27

    PHP POST方法表单在操作页面上的重定向

  28. 28

    验证表单在提交之前输入ajax

  29. 29

    ASP.NET MVC Ajax 提交带有 AntiforgeryToken 的表单和带有验证的序列化表单数据

热门标签

归档