[英]MVC Pass value/parameter from controller to View
我正在努力實現的目標:
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”,並使用該值向用戶顯示。
因此實際發生的是,用戶填滿,保存到db,然后重定向到“ displayRef”視圖。 節省零件沒有問題。 問題是無法在displayRef視圖中獲取refNum。 網址更改為以下內容:Localhost:55433 / items.refNum / view
那么,如何傳遞該值顯示給用戶?
您需要RedirectToAction
嗎? 你能不能只返回視圖...
return View("displayRef", items.RefNum);
如果必須使用RedirectToAction
,這意味着您將重定向到控制器動作,並且必須像這樣指定它...
return RedirectToAction("Action","controller", new {@id=id});
另外,視圖中的模型不正確,您正在綁定string
refNo,但是在視圖頂部聲明您要綁定類RDMSPNPOnlineClearance.Models.TClearance
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.