如何使用Post方法和ViewBag在视图中传递数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Post方法和ViewBag在视图中传递数据?相关的知识,希望对你有一定的参考价值。
第一个视图发送表单
foreach p in Model
<form method="post">
<td class="pricelight"><input type="radio" name="price"value="@p.PriceLight.ToString("")"/>@p.PriceLight.ToString("")</td>
<td class="fromtabletime"><input type="radio" name="price"value="@p.PriceOk.ToString("")/>@p.PriceOk.ToString("")</td>
<td class="totable"><input type="radio" name="price"value="@p.PriceHigh.ToString("")/>@p.PriceHigh.ToString("")</td>
<td class="button13"><button type="submit" asp-action="Buy" asp-route-id="@p.PhoneId" asp-controller="Home">Next</button></td>
</form>
然后我需要在postController中处理数据。
[HttpPost]
public ActionResult Buy(int?id,Order order,string price,@p.PriceLight,@p.PriceOk,@p.PriceHigh)
string ryt=price;
ViewBag.price=ryt;
context.Orders.Add(order);
context.SaveChanges();
ViewBag.phoneId=id;
return View("Thanks, " + order.OrderName);
然后我想在新的视图中得到它
@using System.Linq;
@using System;
@model List<Searchphone>
@
ViewBag.Title = "PhoneId";
<h2 class="orderinformation">Order Data</h2>
<form method="post" class="formpass">
<h3> <input type="hidden" name="@ViewBag.price" value="@ViewBag.price" />@ViewBag.price</h3>
<br>
<input type="hidden" id="PhoneId"value="@ViewBag.PhoneId" name="PhoneId">
<label for="OrderSurName">Surname</label><br>
<input type="text" placeholder="Enter Surname" name="OrderSurName" required><br>
<label for="OrderName">Имя</label><br>
<input type="text" placeholder="Enter Name" name="OrderName" required><br>
<button type="submit" class="button7">To pay</button>
</form>
1) 我不能在视图中得到它,只能在URL中得到它。2) 我想在post方法中把价格值与第一个视图中的@p.PriceLight进行比较,但我如何在方法中传递@p.PriceLight?但我如何在方法中传递@p.PriceLight?
答案
1) 我不能在视图中得到它,只能在URL中得到它。我如何使用Post方法在视图中得到它,为什么不能使用viewbag?
你应该首先调试检查ViewBag在你的控制器动作中是否有一个值。因为ViewBag是用在隐藏输入中的,所以在页面上不能直接看到,你可以在你的视图中按f12来检查ViewBag是否被渲染。我用了你的代码,可以在视图中得到。
2) 我想在post方法中把价格值与第一个视图中的@p.PriceLight进行比较。但我如何在方法中传递@p.PriceLight?
表单只提交选中的单选按钮的值,如果你想获得PriceLight的值,在表单的第一个视图中定义一个隐藏字段。
以上是关于如何使用Post方法和ViewBag在视图中传递数据?的主要内容,如果未能解决你的问题,请参考以下文章