在 MVC 控制器中 post 与 jquery post 之后字符串为空

string is empty after is post with jquery post in MVC controller

我想 post 一个字符串到 MVC 控制器和 return 一个局部视图。视图 returns 但字符串显示为空。 我的控制器:

public PartialViewResult CreateServiceRateModal(string serviceId)
    {
        System.Diagnostics.Debug.WriteLine(serviceId);
        //var a = JsonSerializer.Serialize();
        ViewData["ServiceId"] = serviceId;
        return PartialView("~/Views/ServicesManager/_CreateServiceRate.cshtml");
    }

Jquery:

function CreateServiceRateModal() {
var Id = $('#ServiceId').val();    
$.post('CreateServiceRateModal', JSON.stringify(Id)).done(function (data) {
    $('#modal-placeholder').html(data);
    $('#modal-placeholder').find('.modal').modal('show');
});

之前检查过Id不为空post

您需要使用与您的控制器方法参数名称匹配的 属性 名称作为对象传递给它,因此将其更改为这个,您可以在文档中阅读更多内容 (https://api.jquery.com/jquery.post/):

$.post('CreateServiceRateModal', { serviceId: Id }).done(function (data) {
  $('#modal-placeholder').html(data);
  $('#modal-placeholder').find('.modal').modal('show');
});