gpt4 book ai didi

javascript - 如果我不使用 Ajax 选择任何内容,如何避免下拉列表不修改数据 - MVC

转载 作者:行者123 更新时间:2023-11-30 20:24:35 25 4
gpt4 key购买 nike

我有一个带有 TextareaDropDownList 的页面,当我点击提交按钮时,它们都会将值发送/保存到数据库中,但是当我在 Textarea 并且我没有从 dropdownlist 中选择值,然后当我检查数据库时,我可以在数据库中看到包含 Dropdownlist 数据的列修改为 0 值。

我的问题是,如果我不选择任何东西,例如(如果选择的值 == 0 或如果选择的值 == ""- 不要修改数据并且不发送/保存到数据库中)并且只为 Textarea 修改数据。

*PS 我可以避免下拉列表不修改数据,使用验证但我不能只为 Textarea 发送修改后的值。

Controller :

[HttpPost]
public JsonResult RMADropDownEdit(VMRMA model, int? id, string Kommenter)
{

var s = db.RMA_History.Where(t => t.Id == id).FirstOrDefault();

if (s != null)
{
//DropDown
s.StatusID = model.SelectedStatus;
//Textare
s.Kommenter = Kommenter;

db.SaveChanges();
}


return Json(s, JsonRequestBehavior.AllowGet);

}

查看:

<form id="FormRMA">

<div class="form-group">

<label class="form-control-label">Write your Comment:</label>
<textarea class="form-control" name="Kommenter" id="Kommenter" cols="40" rows="5">
</textarea>

</div>

<div class="form-group">
<label class="form-control-label">Update status</label>
<br />

@Html.DropDownListFor(s => s.SelectedStatus, Model.Status, "- Select -", new { @class = "form-control", @id = "SelectedStatus" })

</div>
<input name="id" type="hidden" id="id" value="@Model.HRMAs.Id" class="form-control">

<div class="form-group">
<button type="submit" id="submitRMA" class="btn btn-primary">Send Data</button>
</div>

</form>

Ajax :

<script>

$(document).ready(function () {

$("#FormRMA").submit(function (e) {


var model = {

SelectedStatus: $("#SelectedStatus").val(),
Kommenter: $("#Kommenter").val(),
id : $("#id").val()

}


e.preventDefault();



$.ajax({
type: 'POST',
url: "/xxx/RMADropDownEdit",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify(model),
success: function (run) {

if (!$.trim(run)) {
alert("What follows is blank: ");
}
else {
run.StatusID = model.SelectedStatus;

run.Kommenter = Kommenter;



swal({ title: "Good job", text: "You clicked the button!", type: "success" },
function ()
{
location.reload();
},3000);


}


},



});

});


});
</script>

HTML 标记:

<select class="form-control" data-val="true" id="SelectedStatus" name="SelectedStatus">
<option value="">- Select -</option>
<option value="1">Sendt</option>
<option value="2">Under behandling</option>
<option value="3">Blive behandlet</option>
<option value="4">Modtaget</option>
</select>

最佳答案

您可以使用一个简单的 if 条件,如下所示:

if(model.SelectedStatus != 0)
s.StatusID = model.SelectedStatus;

上面的代码片段假设 SelectedStatus 的数据类型是 int

如果 SelectedStatus 的数据类型是 string 那么您必须执行以下操作,您还可以检查字符串是否为 null 或空:

if(model.SelectedStatus != "0" && !string.IsNullOrEmpty(model.SelectedStatus))
s.StatusID = model.SelectedStatus;

关于javascript - 如果我不使用 Ajax 选择任何内容,如何避免下拉列表不修改数据 - MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51059013/

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