编辑 NEW 使用 HttpPost 将数据从控制器传递到视图
Posted
技术标签:
【中文标题】编辑 NEW 使用 HttpPost 将数据从控制器传递到视图【英文标题】:EDIT NEW Pass data from the controller to the view using HttpPost 【发布时间】:2020-05-22 13:01:38 【问题描述】:我必须将控制器中的方法从 HttpGet 转换为 HttpPost。
该方法返回一个视图给我。
我之前已经通过ViewBag向这个方法发送了值。
目前,当我使用 ViewBag 时,会抛出错误:
加载资源失败:服务器响应状态为 500(内部服务器错误)
只有在我使用 ViewBag 时才会弹出错误
控制者:
[HttpPost]
public ActionResult PartialTabelaEcp(string json)
var nr_days= 31;
ViewBag.days= nr_days;
return PartialView("_TableEve");
.cshtml
//for example
@for (int nr_rows = 0; nr_rows < ViewBag.days; nr_rows++)
var nr_names = nr_rows + 1;
我的预期是什么?
关于如何使用 HttpPost 将数据从控制器发送到视图的帮助/文章
编辑
例如: 型号:
public partial class userDaty_Model
public int liczbaDniM get; set;
public int numerMiesiacaM get; set;
public int numerRokuM get; set;
控制器:
liczbaDni = 1;
numerMiesiaca = 2;
numerRoku= 5;
userDaty_Model userDaty = new userDaty_Model();
userDaty.liczbaDniM = liczbaDni;
userDaty.numerRokuM = numerMiesiaca;
userDaty.numerMiesiacaM = numerRoku;
return PartialView("_TableEve", userDaty);
现在我有 for (razor) 以及如何将控制器中分配的值放入其中? 查看
@for (int nr_rows = 0; nr_rows < @aandWhatWriteHere ; nr_rows++)
我试过了:
DayValue : @html.HiddenFor(item => item.userDaty_Model.liczbaDniM); // does it works?
@for (int nr_rows = 0; nr_rows < DayValue; nr_rows++) // it does not work...
【问题讨论】:
问题一、是MVC还是Core?它是什么? 2)您之前发送的代码在哪里?您可以通过Html.Beginform
或<form>
或ajax 发送。
【参考方案1】:
您可以更轻松地创建一个视图模型并将数据放入其中并>使用填充的视图模型对象返回视图,这可能看起来像这样
视图模型
public class PartialTableEcpModel
public List<string> Days get; set;
//And so on
控制器
public ActionResult PartialTabelaEcp(string json)
PartialTableEcpModel tableModel = new PartialTableEcpModel();
tableModel.Days = new List<string>() "Day1", "Day2", Day3;
var nr_days= 31;
ViewBag.days= nr_days;
return PartialView("_TableEve", tableModel);
剃刀视图
@model PartialTableEcpModel
@foreach(var day in Model.Days)
<p>@day</p>//or whatever
所以又是一个 Get 请求
用于编辑
您必须将 RazorView.cshtml 顶部的
@model
设置为您的模型,然后您的Model
属性就是您在控制器中推送的模型
【讨论】:
以上是关于编辑 NEW 使用 HttpPost 将数据从控制器传递到视图的主要内容,如果未能解决你的问题,请参考以下文章
无法将数据从视图发送到控制器 Action .NET MVC
编辑表单不起作用,数据正在传递到服务器但不是 httpPost 方法