javascript - 在 MVC 控制器中使用 jquery post 发布后字符串为空
问题描述
我想将一个字符串发布到 MVC 控制器并返回一个局部视图。视图返回,但字符串显示为空。我的控制器:
public PartialViewResult CreateServiceRateModal(string serviceId)
{
System.Diagnostics.Debug.WriteLine(serviceId);
//var a = JsonSerializer.Serialize();
ViewData["ServiceId"] = serviceId;
return PartialView("~/Views/ServicesManager/_CreateServiceRate.cshtml");
}
查询:
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不为空。
解决方案
您需要使用与您的控制器方法参数名称匹配的属性名称作为对象传递它,因此将其更改为此,您可以在文档中阅读更多信息(https://api.jquery.com/jquery.post/):
$.post('CreateServiceRateModal', { serviceId: Id }).done(function (data) {
$('#modal-placeholder').html(data);
$('#modal-placeholder').find('.modal').modal('show');
});
推荐阅读
- pandas - 按 datetime64 中没有日期的时间过滤
- python - 在 Python 中使用 $ 符号将对象更改为整数
- php - 用php检查是否指向内部或不在多多边形geojson中
- node.js - 单元、集成和功能测试
- javascript - 我正在尝试 history.push 但它在反应时总是未定义
- flutter - 为什么当我调用 setState 时应用程序没有重建?
- windows - 将多个文件夹名称从 %-% 更改为 %(删除连字符后的所有内容)
- python - 如何从 Tkinter 的输入框中获取输入文本?
- vb.net - 如何防止在 ListView 中添加相同的学生 ID 或数字顺序?
- python - 在 Python 中打印与字符串同名的变量