我有一个模态,我试图通过从控制器动作通过JSON obj发送模态来填充。似乎可以很好地返回模型,但是我很难从模型中提取数据来填充HTML。下面是我的代码。
如果有人可以帮助纠正JS中的语法,将不胜感激。
控制器动作:
[HttpGet]
public ActionResult JobPollerParameters(int jobRequestId)
{
var model = new Dashboard.Web.Models.Tools.JobPollerMonitorResponseModel();
try
{
using (var client = new DashboardAPIClient())
{
var response = client.GetJobRequestParemeters(jobRequestId);
model.JobRequestParameters = response.JobRequestParameters;
}
}
catch (Exception ex)
{
ExceptionHandling.LogException(ex);
throw;
}
return Json( model.JobRequestParameters, JsonRequestBehavior.AllowGet);
}
需要在其上显示JSON数据的模式:
<div class="modal fade" id="paramsModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header modal-header-primary">
<a class="btn btn-xs btn-primary pull-right" data-dismiss="modal" aria-label="Close"><span class="glyphicon glyphicon-remove"></span></a>
<h4 class="modal-title" id="modalTitleText"></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-3 font-weight-bold">Name:</div>
<div class="col-md-9" id="modalName"></div>
</div>
<div class="row">
<div class="col-md-3 font-weight-bold">Message:</div>
<div class="col-md-9 text-break" id="modalMessage"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
JS功能:
$('#paramModalBtn').click(function () {
var col = $('#requestId');
var jobRequestId = col.data("id");
//console.log(jobRequestId);
$.ajax({
url: '@Url.Action("JobPollerParameters", "Tools")',
data: { "jobRequestId": jobRequestId},
success: function(results){
$modal = $('#paramsModal');
$modal.modal("show");
var name = JSON.parse(results.name);
var message = JSON.parse(results.message)
$('#modalName').text(name);
$('#modalMessage').text(message);
}
});
});
同样在某些情况下,我想证明我返回的模型应该是“ JobRequestParameters”的列表,其中我需要Model.JobRequestParameters.Name和JobRequestParameters.value。我在想,也许我不需要列表?
控制器返回格式化为JSON的字符串,然后可以将其解析为JavaScript对象并如此使用。
您需要解析一次数据,然后您可以使用一个对象。
var obj = JSON.parse(results);
$('#modalName').text(obj.name);
$('#modalMessage').text(obj.message);