gpt4 book ai didi

javascript - 在 ASP.NET MVC 中将值从下拉列表传递到数据库

转载 作者:行者123 更新时间:2023-11-29 17:49:42 24 4
gpt4 key购买 nike

我有一个带有两个带有硬编码值的下拉框的表单。我需要将用户选择的值从 View 传递到 Controller 并将其存储在数据库表中。

这是下拉菜单的 HTML 代码。

<div class="form-group">
<label for="UserType">User Type:</label>
<select name="usertype" class="form-control" id="drpUserType">
<option value="0">Please Select</option>
<option value="regular">Regular</option>
<option value="preLoader">Pre Loader</option>
</select>
</div>

这是脚本和 AJAX。这会将值传递给 Controller ​​。

$("#btnSubmitCustomer").click(function (){
var customer = {};

customer.ID = $("#hdnCustomerID").val();
customer.UserType = $("#drpUserType").val();

$.ajax({
type: "POST",
data: {customer : customer},
dataType: "json",
url: "@Url.Action("Save", "Customer")",
success: function (response){
if(response.type == "Success"){
notifyMe("Customer Added Successfully", "Success");
clearForm();
setDataTable();
$('#customerModal').modal('hide');
}
},
error: function (error){
console.log(error)
$('#loading_spinner').hide();
}
});
});

这是 Controller 代码。

[HttpPost]
public JsonResult Save(Customer customer)
{
bool userType;
if (customer.UserType.Equals("preLoader"))
{
userType = customer.UserType == true;
}
else
{
userType = customer.UserType == false;
}

try
{
Customer cst = new Customer();
using (MyDBContext myDBContext = new MyDBContext())
{
if (customer != null)
{
DateTime localTime = DateTime.Now;

if (customer.ID == 0)
{
cst.UserType = userType;

myDBContext.Customer.Add(cst);
}
else
{
int customerID = customer.ID;
Customer customerOld = myDBContext.Customer.Where(x => x.ID == customerID).FirstOrDefault();
customerOld.UserType = customer.UserType;
}
myDBContext.SaveChanges();
}
}
return Json(new { type = "Success", data = cst });
}
catch (Exception ex)
{
string message = ex.Message;
if (ex.InnerException != null)
{
message += ex.InnerException.Message;
}
_Common.Log(message, "Customer", "save");
return Json(new { type = "Error", message = ex.Message });
}
}

在MySql表中,userType是tinyint(1)。我需要通过下拉框验证用户类型,如果其“preLoader | true”则分配“1”,如果其“regular | false”则分配“0”。但无论用户选择的选项是什么,我都会得到错误的信息。

如何修复它?

最佳答案

传递数据时尝试使用此代码

var customer ={
ID = $("#hdnCustomerID").val();
UserType = $("#drpUserType").val();
};

在 ajax 中:

   $.ajax({
...
data: JSON.stringify({ customer: customer }),
...
});

关于javascript - 在 ASP.NET MVC 中将值从下拉列表传递到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49491785/

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