程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 Ajax 传递多个模型返回 null?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 Ajax 传递多个模型返回 null??

开发过程中遇到使用 Ajax 传递多个模型返回 null?的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 Ajax 传递多个模型返回 null?的解决方法建议,希望对你解决使用 Ajax 传递多个模型返回 null?有所启发或帮助;

我使用的模型包含多个模型。我还使用 AJAX 请求将数据发送到操作。动作的参数包含包含多个模型的模型类型。对于主模型中的每个子模型,我都为空。我怎样才能解决这个问题。 模型:

public class MainModel
{
  public SubModel1 sub1 {get;set;}
  public SubModel2 sub2 {get;set;}
}

请注意 SubModel1 和 SubModel2 包含如下属性:1.ID、name。 2. ID,位置。 控制器

public ActionResult PostData(MainModel main)
{
return VIEw();
}

查看:

@model project.Models.MainModel
@using (AJAX.beginForm("PostData","ControllerMain",new AJAXOptions()
                    {
                        httpR_870_11845@ethod = "POST",}))
                    {
                        @HTMl.TextBoxFor(model => model.sub1.ID,new { @Value = "1"})
                        @HTMl.TextBoxFor(model => model.sub1.name,new { @Value = "user1"})
                        @HTMl.TextBoxFor(model => model.sub2.ID,new { @Value = "1"})
                        @HTMl.TextBoxFor(model => model.sub2.LOCATIOn,new { @Value = "UK"})
                      <button type="submit" class="btn btn-priMary" ID="SaveData">Save</button>
                    } 

当我使用调试器检查 main 时,我得到两个模型的值为 null。我怎样才能解决这个问题。如果我将 PostData 的参数更改为 SubModel1 或 SubModel2 我确实获取了数据,但情况并非如此,因为我想获取多个模型的数据。

解决方法

更改您的模型如下:

public class MainModel
{
    public MainModel()
    {
        sub1 = new SubModel1();
        sub2 = new SubModel2();
    }
    public SubModel1 sub1 { get; set; }
    public SubModel2 sub2 { get; set; }
}

你的控制器应该是这样的

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult PostData()
    {
        return View(new MainModel());
    }

    [httpPost]
    public ActionResult PostData(MainModel model)
    {
        return View(model);
    }
}

并查看:

@model project.Models.MainModel@using (
Ajax.beginForm("PostData","Home",new AjaxOptions()
    {
        httpR_870_11845@ethod = "POST",}))
    {
        @Html.TextBoxFor(model => model.sub1.Id,new { @Value = "1"})
        @Html.TextBoxFor(model => model.sub1.Name,new { @Value = "user1"})
        @Html.TextBoxFor(model => model.sub2.Id,new { @Value = "1"})
        @Html.TextBoxFor(model => model.sub2.LOCATIOn,new { @Value = "UK"})
        <button type="submit" class="btn btn-priMary" id="SaveData">Save</button>
    } 

大佬总结

以上是大佬教程为你收集整理的使用 Ajax 传递多个模型返回 null?全部内容,希望文章能够帮你解决使用 Ajax 传递多个模型返回 null?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:null?使用