【发布时间】:2021-01-09 16:47:38
【问题描述】:
如何将数据从 Iactionresult 移动到另一个 action result?我一直在尝试显示表单中的数据并查看另一个 Iactionresult?我尝试使用 Tempdata,但似乎有错误。谁能帮帮我?
当我单击特定 ID 时,此操作会显示单个产品详细信息。
[HttpGet]
public IActionResult Details(int id)
{
string sql = String.Format(@"SELECT * FROM WBProduct
WHERE Id = {0}", id);
List<Product> lstProduct = DBUtl.GetList<Product>(sql);
if (lstProduct.Count == 0)
{
TempData["Message"] = $"Product #{id} not found";
TempData["MsgType"] = "warning";
return RedirectToAction("Index");
}
else
{
Product cdd = lstProduct[0];
return View(cdd);
}
}
我想在这个 IActionResult 中显示产品的详细信息
[HttpPost]
public IActionResult Create()
{
return View("Create");
}
查看详情:
@model Product
<div>
<div class="form-group row">
<div class="offset-sm-2"><h2>@Model.ProductName</h2></div>
</div>
<div class="form-group row">
<div class="offset-sm-2 col-sm-5">
<img id="ImgPhoto" src="~/images/product/@Model.ProductImage" style="width:400px;" />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="City">Weight: </label>
<div class="col-sm-5">
<input type="text" asp-for="ProductWeight" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Date">Stock :</label>
<div class="col-sm-5">
<input type="text" asp-for="ProductStock" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Cost">Price: </label>
<div class="col-sm-5">
<input type="text" asp-for="ProductPrice" asp-format="{0:C}" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Story">Description: </label>
<div class="col-sm-5">
<textarea asp-for="ProductDescription" rows="8" cols="20" class="form-control" readonly></textarea>
</div>
</div>
<div class="form-group row">
<a href="http://localhost:50528/Product/Create" class="btn btn-info" role="button" > Add to Cart </a>
</div>
</div>
创建视图:
@model Product
<div class="form-group row">
<div class="offset-sm-2"><h2>@Model.ProductName</h2></div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="City">Weight: </label>
<div class="col-sm-5">
<input type="text" asp-for="ProductWeight" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Date">Stock :</label>
<div class="col-sm-5">
<input type="text" asp-for="ProductStock" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Cost">Price: </label>
<div class="col-sm-5">
<input type="text" asp-for="ProductPrice" asp-format="{0:C}" class="form-control" readonly />
</div>
</div>
<div class="form-group row">
<label class="control-label col-sm-2" for="Story">Description: </label>
<div class="col-sm-5">
<textarea asp-for="ProductDescription" rows="8" cols="20" class="form-control" readonly></textarea>
</div>
</div>
【问题讨论】:
-
TempData["Product"] = lstProduct[0];
-
@Steve 它不起作用。它没有显示产品的个人详细信息,因此数据不会传输到视图
-
你能显示操作代码吗?至少是您阅读和使用 TempData 的一些相关部分?
-
我已粘贴视图以获取详细信息
-
等等。您正在尝试重定向到 POST 操作?如果我没有错,这是不可能的。您应该重定向到 GET 操作
标签: asp.net asp.net-mvc tempdata