【发布时间】:2019-12-10 05:04:45
【问题描述】:
不知道为什么jQuery ajax 数据发送到控制器时,value 显示为null,比如图片显示成功函数(data) 错误。获取数据为空。 代码第一次测试时,只有一个数据为空,但后来显示所有数据值都为空。 我对代码的哪一部分有问题?
<script type="text/javascript">
$(document).ready(function () {
$("#table1").click('#SelectBtn', function () {
var bid = $(this).attr('data-id');
var status = $("#enumId option:selected").val();
var mess = $('#message-text').val();
$('#Submit').click('#enumId', function () {
$.ajax({
type: 'POST',
dataType: 'json',
url: '@Url.Action("saveStatus")',
data: { id: bid, status:$("#enumId option:selected").val(), Remark:$('#message-text').val() },
success: function (data) {
bid.url(data);
status.val('');
mess.val('');
alert("Success, sent data to controller");
}, error: function (data) {
alert("Error: " + data);
},
})
})
})
})
</script>
public JsonResult saveStatus(int id, string status, string Remark)
{
int approvalId;
if (id == 0)
{
var staff = db.Staffs.Where(s => s.UserName == User.Identity.Name).FirstOrDefault();
RequestForApproval ap = new RequestForApproval
{
RequestToStaffId = staff.Id,
RequestDate = DateTime.Now,
};
db.RequestForApprovals.Add(ap);
db.SaveChanges();
approvalId = ap.Id;
}
else
{
approvalId = id;
}
Status stat = (Status)Enum.Parse(typeof(Status), status);
ApprovalStatus temp = new ApprovalStatus
{
Id = approvalId,
Remark = Remark,
Status = stat,
AddDate = DateTime.Now
};
db.ApprovalStatuses.Add(temp);
db.SaveChanges();
var df = db.ApprovalStatuses.Where(s => s.Id == approvalId).ToList();
return Json(df);
}
<table class="table" id="table1">
<tr>
<th></th>
<th>
Staff Fname
</th>
<th>
RequestDate
</th>
<th></th>
</tr>
@foreach (var item in Model.GetReApproval)
{
<tr>
<td>
<a href="~/Reimbursements/GetOtherDetails/@item.ReimbursementId">@item.ReimbursementId</a>
</td>
<td>
@item.StaffName
</td>
<td>
@item.RequestDate
</td>
<td>
<input type="hidden" value="@item.RequerForApprovalId" />
<button type="button" class="btn btn-primary" data-toggle="modal" data-id="@item.RequerForApprovalId" data-target="#exampleModal" id="SelectBtn">Select</button>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="Title">Select and Confirm</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<input type="hidden" id="Reid" />
@Html.DropDownList("ApprovalStatus", null, new { @class = "btn btn-info", id = "enumId" })
@*@Html.DropDownList("Index", ViewBag.DropDownList as SelectList,null, new { @class = "btn btn-info",@id="DropDownList" })*@
</div>
<hr />
<div class="form-group" style="visibility:visible" id="remarktext">
<label for="message-text" class="control-label">Remark:</label>
<textarea class="form-control" id="message-text"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
@*<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Confirme</button>*@
@*<button data-id="@item.ReimbursementId" class="btn btn-primary" id="Submit" onclick="location.href='@Url.Action("AddRequestForApproval","Reimbursements")'">Submit</button>*@
<button data-rid="@item.ReimbursementId" class="btn btn-primary" id="Submit" >Submit</button>
<button class="btn btn-default" data-dismiss="modal" type="reset" id="Clear">Close</button>
</div>
</div>
</div>
</div>
</td>
</tr>
}
</table>
【问题讨论】:
-
如果您收到您传递的值,您是否尝试过调试您的 c# 代码?
-
哦,好吧,看刚才的描述,所有的值都是空的。
标签: c# jquery ajax model-view-controller