当前位置: 首页 > 知识库问答 >
问题:

Kendo UI DateTimePicker未正确绑定到控制器中

狄卓君
2023-03-14

我有一个复杂的对象,我需要在提交表单时传递给控制器。这个复杂对象有一个对象和一个对象列表。这是我的Web API控制器,它通过使用Ajax的post接收复杂对象:

[HttpPost]
public IHttpActionResult CreatePurchaseInvoice(NewPurchaseInvoice newPurchaseInvoice)
{
    try
    {
        var purchaseInvoice = new PurchaseInvoice
        {
            Id = newPurchaseInvoice.PurchaseInvoice.Id,
            DatePurchaseInvoice = newPurchaseInvoice.PurchaseInvoice.DatePurchaseInvoice
        };

        // Here i do other stuff with the list of objects   

        _context.SaveChanges();
    }
    catch(Exception ex)
    {
        return BadRequest();
    }
    return Ok();
 }

这是我的html表单:

<form id="purchaseInvoiceForm">
    <div class="row">
        <div class="col-lg-6">
            <label>Order:</label>
            <select id="numberOrder" class="form-control" required name="numberOrder">
                <option value="">Select an order number...</option>
            </select>
        </div>
        <div class="col-lg-6">
            <div class="form-group">
                <label>Date of Purchase Invoice:</label><br />
                <input id="datePurchaseInvoice" style="width: 70%" />
            </div>
        </div>
    </div>

    //Here i have an html table and every row i push into an array of the complex object
</form>

这是我通过Ajax发送复杂对象的jQuery代码

$(document).ready(function(){

    //this is the declaration of my complex object
    var newPurchaseInvoice = {
            PurchaseInvoice: {},
            PurchaseInvoiceDetails: []
    }


    $("#purchaseInvoiceForm").submit(function (e) {
        e.preventDefault();

        newPurchaseInvoice.PurchaseInvoice= {
            Id: $("#numberOrder").val(),
            DatePurchaseInvoice : $("#datePurchaseInvoice").val()
        }

        $.ajax({
            url: "/api/purchaseInvoices",
            method: "post",
            data: newPurchaseInvoice
        });
    });
});

$("#datePurchaseInvoice").kendoDateTimePicker({        
    value: new Date(),
    dateInput: true
});
public class public class NewPurchaseInvoice 
{
    public PurchaseInvoice PurchaseInvoice{ get; set; }
    public List<PurchaseInvoiceDetail> PurchaseInvoiceDetails{ get; set; }
}
 public class PurchaseInvoice 
{
    public int Id { get; set; }
    public DateTime DatePurchaseInvoice { get; set; }
}

共有1个答案

白学
2023-03-14

您需要指定所提供的数据类型:

contentType: 'application/json'

根据您的响应类型,也可能使用dataType。根据这篇文章,你可能需要严格你的回应。我不认为我需要这样做,但我不经常对复杂的数据类型使用AJAX操作。

 类似资料:
  • 从正在运行的javafx应用程序打开新的javafx窗口时,我无法将fxml变量绑定到控制器类中的局部变量。 请注意,对于正在运行的应用程序,我可以毫无问题地绑定到同名变量,在运行时在正在运行的应用程序中填充ComboBox。欢迎任何解决方案。 调用新类的代码(ServerConfigChooser) 在运行的应用程序中工作的绑定示例(运行时执行的代码) 控制器类中的fxid“cb_01_fxid

  • 这可能是先导错误,但是FXML属性没有绑定到fx:id上的控制器类。我把它简化为一个微不足道的例子,但仍然“没有快乐”。我忽略了什么? 相关的Java代码是... 自我不是这里的问题,我很确定我忽略了一些简单的东西。

  • 我尝试使用两个matInput字段,每个字段都绑定到单独的mat-autocomplete面板。按照这里的步骤,我可以让一个工作正常,但我有困难与两个输入字段和自动完成面板。 有人看到这个或者知道我做错了什么吗?

  • 我正试图在GKE集群上添加一个NGINX入口控制器,使用现有的HAProxy入口控制器(它在重写规则方面有一些问题) 首先,我尝试将控制器的服务公开给LoadBalancer类型。流量可以到达入口和后端,但它不适用于托管证书。 因此,我尝试使用L7负载平衡器(URL映射)将流量转发到GKE群集IP,并为入口控制器本身创建入口对象。 问题是,这个入口对象似乎不绑定到外部IP。路由到域会产生“默认后端

  • 在我的环境中,我有JSF 2.2 CDI Spring 4 Wildfly 9 Spring Data在野生服务器中,我配置了两个数据源: 示例(来自工厂) OracleDS(我创建的这个) 在persitence.xml,我有: 我的applicationContext.xml: http://www . spring framework . org/schema/beans/spring-be

  • 我有一个有一些订单的客户列表,我把他们都显示在一个表中。我添加了一个按钮,以便删除每个订单,如果需要的话。 当我试图删除一个特定的订单时,我会得到以下错误 未能将类型“java.lang.String”的值转换为所需类型“java.lang.Long”;嵌套异常是java.lang.NumberFormatException:对于输入字符串:“{cid}(cid=${customer.id})”