簡體   English   中英

MVC將值/參數從控制器傳遞到視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM