- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在从 Pro ASP.NET 4.0 一书中学习 ASP.NET,但我一直坚持添加 CartController 和 Views/Cart/Index.cshtml
我添加了这样的内容:
public class CartController : Controller
{
private IProductRepository repository;
public CartController(IProductRepository repo)
{
repository = repo;
}
public ViewResult Index(string returnUrl)
{
return View("Index", "~/Views/Shared/_Layout.cshtml", new CartIndexViewModel
{
Cart = GetCart(),
ReturnUrl = returnUrl
});
}
public RedirectToRouteResult AddToCart(int productId, string returnUrl)
{
Product product = repository.Products
.FirstOrDefault(p => p.ProductID == productId);
if (product != null)
{
GetCart().AddItem(product, 1);
}
return RedirectToAction("Index", new { returnUrl });
}
private Cart GetCart()
{
Cart cart = (Cart)Session["Cart"];
if (cart == null)
{
cart = new Cart();
Session["Cart"] = cart;
}
return cart;
}
}
}
然后我添加到我的购物车->索引操作 View (右键单击->添加 View ),如下所示:
@model SportsStore.WebUI.Models.CartIndexViewModel
@{
ViewBag.Title = "Sklep sportowy: Twój koszyk";
}
<h2>Twój koszyk</h2>
<table width="90%" align="center">
<thead>
<tr>
<th align="center">Ilość</th>
<th align="left">Produkt</th>
<th align="right">Cena</th>
<th align="right">Wartość</th>
</tr>
</thead>
<tbody>
@foreach(var line in Model.Cart.Lines) {
<tr>
<td align="center">@line.Quantity</td>
<td align="left">@line.Product.Name</td>
<td align="right">@line.Product.Price.ToString("c")</td>
<td align="right">@((line.Quantity * line.Product.Price).ToString("c"))</td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td colspan="3" align="right">Razem:</td>
<td align="right">
@Model.Cart.ComputeTotalValue().ToString("c")
</td>
</tr>
</tfoot>
</table>
<p align="center" class="actionButtons">
<a href="@Model.ReturnUrl">Kontynuuj zakupy</a>
</p>
在我的页面上的产品摘要中,我有一个按钮可以将产品添加到购物车,然后重定向到此 localhost:port/Cart/Index
页面。这是这个导航按钮:
@model SportsStore.Domain.Entities.Product
<div class="item">
<h3>@Model.Name</h3>
@Model.Description
@using(Html.BeginForm("AddToCart", "Cart")) {
@Html.HiddenFor(x => x.ProductID)
@Html.Hidden("returnUrl", Request.Url.PathAndQuery)
<input type="submit" value="+ Dodaj do koszyka" />
}
<h4>@Model.Price.ToString("c")</h4>
</div>
问题是购物车运行良好,但它的 View 未嵌入到主布局 /Shared/_Layout.cshtml
中。它只是显示为单独的页面,不包含任何 html 标题或正文内容,仅包含网站的内容部分。
我发现的同一示例的 github 项目与 Visual Studio 主项目的完成方式完全相同。 https://github.com/akatakritos/SportsStore
我检查了图书代码 list ,没有发现任何错误。为什么它不能正确显示为主要布局的一部分?而是在单独的 View 中!
感谢您的帮助。
编辑:
我有 Views/Shared/_ViewStart.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
最佳答案
将您的 _ViewStart.cshtml 移动到 Views/_ViewStart.cshtml
(而不是 Views/Shared/)。 MVC 不在共享文件夹中寻找它。
关于c# - 为什么我的 View 没有在 _Layout.cshtml 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39979743/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!