gpt4 book ai didi

c# - 将 Json 转换为字符串数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:26 24 4
gpt4 key购买 nike

这是我的表单代码:

<div class="form-group">
<label for="text">product name:</label>
<input id="name" type="text" class="form-control" placeholder="Enter product name" name="product[0].name">
</div>
<div class="form-group">
<label for="text">product detail:</label>
<input id="detail" type="text" class="form-control" placeholder="Enter prodcut detail" name="product[1].detail">
</div>

<button id="btn" type="submit" class="btn btn-default">Submit</button>

这是我的javascript

<script>

$(function postProduct() {
$('#btn').click(function () {

var productName = document.getElementById("name").value;
var productDetail = document.getElementById("detail").value;

var dimensions = [ productName, productDetail];
var keys = $.map(dimensions, function (value, key) {
return key;
});

if (productName == '' || productDetail == '') {
alert("Please Fill All Fields");
} else {

$.ajax({
type: 'post',
url: "api/product/addproduct",
data: keys,
dataType: 'json',
success: function (result) {

},
error: function (error) {

}
});
}

});
});

</script>

我的 Controller :

[HttpPost]
[Route("api/product/addproduct")]
public IActionResult AddProduct([FromBody] string[] addproduct)
{
var pProductName= addProduct[0];
var pProductDetail= addProduct[1];

Product NewProduct = new Product();
{
NewProduct.ProductName= pProductName;
NewProduct.ProductDetail = pProductDetail;
}


_db.Products.Add(NewProduct);
_db.SaveChanges();

//create a new route for post method by id
return CreatedAtRoute(new { id = addproduct}, addproduct);
}

我想要做的是在用户将信息输入表单并点击提交按钮之后。这些信息将传递给 Controller ​​并将信息保存到数据库中。我遇到的问题是我的表单数据是 Json 类型,但是,我的 Controller 是一个数组。

是否可以将表单转换为数组?

最佳答案

我没有检查你是如何发送数据的。因此,我假设您正在以正确的 JSON 格式发送数据

好消息是:如果您以正确的方式编写代码,ASP.Net Core 会自动为您将 JSON 中的数据适配为数组!

首先要做的是删除那个 [FromBody] 注释。

现在请使用ViewModel 方法接收数据,而不是直接接收数组形式的数据。即,像这样创建一个 View 模型类:

public class MyViewModel
{
public string[] AddProduct { get; set; } // I find the name weired
}

现在调整 Controller 中的 Action :

public IActionResult AddProduct(MyViewModel viewModel)
{
// Now check viewModel.AddProduct, you should find the data in the array.
}

关于c# - 将 Json 转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51110779/

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