[英]Asp.net core 3.1 mvc post request model binding for simple types
[英]Parameters are not binding in post method to Model in .net core 3.1
我正在從之前的框架中的 .net 4.8 遷移到 .net core 3.1,這個帖子調用工作正常,但這里的 .net 核心模型沒有綁定。雖然控制器方法被調用,但所有參數都為空。 也附上日志。
無法在名稱為 '"parameters.configRowLimit"' 的請求中找到綁定屬性 '"Project.BusinessObjects.Areas.Reports.ViewParameters"."configRowLimit"' 類型為 '"System.Int32"' 的值
它正在為每個財產而來。 我不明白為什么它要查看 parameters.configRowLimit 而從前端它在 parameters.ViewParameters.configRowLimit 內
這是我的前端參數。
讓視圖參數 = {};
ViewParameters = {
SqlQuery: SqlQuery,
ViewObject: ViewObject,
RowCount: totalCount,
MaximumRowLimit: maximumRowLimit,
AppInstanceID: $('#AppInstanceId').val(),
FileName: metricName
};
let params = {};
params = {
ViewParameters: ViewParameters,
Metrics: obj,
fileTypes: value
};
let body = { parameters: params };
let options = ({ headers: headers });
return this.http.post(this._controllerMethod, body, options)`enter code here`
這是.net核心控制器方法
[FileDownload, DeleteFile]
public ActionResult DownLoadQuery([FromBody] CurrentMetricDownload parameters)
模型 CurrentMetric 下載
public class CurrentMetricDownload
{
public FileTypes fileTypes { get; set; }
public ExportFile File { get; set; }
public TreeMetrics Metrics { get; set; }
public ViewParameters Viewparameters { get; set; }
}
如果你給parameters
的角度來PARAM的名字,那么在你的U型需要與這個名字atrribute太多,但型號名稱是parameters
。 所以你需要直接將參數分配給 body
let body = params;
let options = ({ headers: headers });
return this.http.post(this._controllerMethod, body, options)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.