c# - MVC 将值/参数从控制器传递到视图
问题描述
我想要实现的目标:
1. 填写表格
2. 保存到数据库
中 3. 将用户重定向到另一个显示一些详细信息的视图(referenceID)
所以这就是我所拥有的
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(ClearanceViewModel myViewModel, TClearance clearance, TRefsNum referenceNo)
{
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var stringChars = new char[8];
var random = new Random();
for (int i = 0; i < stringChars.Length; i++)
{
stringChars[i] = chars[random.Next(chars.Length)];
}
var finalString = new String(stringChars);
string refNo = DateTime.Now.Year + finalString;
items.RefNum = refNo;
db.TClearances.Add(items);
db.SaveChanges();
return RedirectToAction(items.RefNum, "displayRef");
}
上面的代码确实将用户输入的任何内容保存到数据库,然后重定向到视图“displayRef”,并且 items.refNum 是我试图传递给视图的值
看法:
@model RDMSPNPOnlineClearance.Models.TClearance
@{
var getRef = Model.RefNum;
}
this is your ref number: @Html.LabelFor(model => model.RefNum, htmlAttributes: new { @class = "control-label" })
上面的代码试图获取预期值“items.refNum”并使用该值将其显示给用户。
所以实际发生的是,用户填写,保存到数据库,然后重定向到“displayRef”视图。保存部分没有问题。问题是我没有在 displayRef 视图中获得 refNum。url 更改为:Localhost:55433/items.refNum/view
那么,我如何将该值传递给用户?
解决方案
你需要RedirectToAction
吗?你能不能只返回视图...
return View("displayRef", items.RefNum);
如果您必须使用RedirectToAction
,这意味着您正在重定向到控制器操作,并且您必须像这样指定它......
return RedirectToAction("Action","controller", new {@id=id});
此外,您在视图中的模型不正确,您正在绑定一个string
refNo,但在您的视图顶部声明您要绑定一个类RDMSPNPOnlineClearance.Models.TClearance
推荐阅读
- python - 性能良好的实时多线图更新
- formio - 我可以使用将表单保存到本地数据库吗?
- xampp - 如何通过文件夹将网站从一个 Xampp 转移到同一台计算机上的另一个?
- python - Python - 如何拆分包含转义字符作为分隔符的字符串?
- r - 根据条件计算组的数据框的不同级别
- javascript - 未捕获的类型错误:firebase.storage 不是函数
- swift - 通过裁剪修改/编辑PhAsset图像
- java - 爪哇马文;org.picocontainer.injectors.AbstractInjector$CyclicDependencyException:循环依赖
- html - 优化使用 ngIf 的下拉按钮的 CSS
- python - 在 scikit-learn 中使用 RandomizedSearchCV 对超参数进行条件调整