ASP.NET MVC学习之 Html.ActionLink

本文整理了该方法的几种重载形式:


一 Html.ActionLink("linkText","actionName")

该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法,默认控制器为当前页面的控制器,如果当前页面的控制器为Products,则 Html.ActionLink("detail","Detail") 则会生成 <a href="/Products/Detail">all</a>


二 Html.ActionLink("linkText","actionName","controlName")

该重载比第一个重载多了一个参数,他指定了控制器的名称,如Html.ActionLink("detail","Detail","Products")则会生成<a href="Products/Detail">all</a>


三 Html.ActionLik("linkText","actionName",routeValues)

routeValue可以向action传递参数,如Html.ActionLink("detail","Detail",new { id=1})会生成 <a href="Products/Detail/1">detail</a>, 此处假设当前的控制器是Products.


四 Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)

htmlAttribute可以设置<a>标签的属性,如 Html.ActionLink("detail","Detail",new{id=1},new{ target="_blank"})会生成 <a href="Products/Detail/1" target="_blank">detail</a>,需要主要的是如果写成 new{ target="_blank",class="className"}则会报错,因为class是关键字,此处应该写成 @class="className"。


五 Html.ActionLink("linkText","actionName","controlName",routeValues,htmlAttributes)

该重载包含了上面提到的所有参数类型


六 Html.ActionLink("linkText","actionName","controlName","protocol","hostName","fragment",routeValues,htmlAttributes)

该重载使用比较少,他可以指定访问的协议,域名还有锚点,如 Html.ActionLink("liuwu","Detail","Products","http","www.liuwu.me","name",null,null) 可以生成 <a href="http://www.liuwu.me/Products/Detail#name">liuwu</a>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现购物车功能,需要在 ASP.NET MVC 中进行以下步骤: 1. 创建一个购物车模型类,该模型类应该包含商品信息和购买数量等信息。 2. 在控制器中创建添加商品到购物车、从购物车中删除商品、更新购物车中商品数量等方法。 3. 在视图中创建购物车页面,显示购物车中的商品信息、数量、价格等信息。 4. 在购物车页面中,为每个商品添加增加数量、减少数量、删除等按钮,以便用户可以方便地操作购物车。 5. 为了使购物车在不同页面之间可以共享,可以将购物车信息存储在会话中。 以下是一个简单的购物车实现示例: 1. 创建购物车模型类: ``` public class ShoppingCartItem { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } public int Quantity { get; set; } } ``` 2. 在控制器中创建添加、删除、更新购物车等方法: ``` public class ShoppingCartController : Controller { public ActionResult AddToCart(int id) { var product = _repository.GetProductById(id); var cart = GetCart(); cart.Add(product); SaveCart(cart); return RedirectToAction("Index"); } public ActionResult RemoveFromCart(int id) { var cart = GetCart(); cart.Remove(id); SaveCart(cart); return RedirectToAction("Index"); } public ActionResult UpdateCart(int id, int quantity) { var cart = GetCart(); cart.Update(id, quantity); SaveCart(cart); return RedirectToAction("Index"); } public ActionResult Index() { var cart = GetCart(); return View(cart); } private ShoppingCart GetCart() { var cart = Session["Cart"] as ShoppingCart; if (cart == null) { cart = new ShoppingCart(); Session["Cart"] = cart; } return cart; } private void SaveCart(ShoppingCart cart) { Session["Cart"] = cart; } } ``` 3. 创建购物车页面视图: ``` @model ShoppingCart <table> <tr> <th>Name</th> <th>Price</th> <th>Quantity</th> <th>Total</th> <th></th> </tr> @foreach (var item in Model.Items) { <tr> <td>@item.Name</td> <td>@item.Price</td> <td> @Html.TextBoxFor(m => item.Quantity, new { @class = "quantity-input" }) @Html.ActionLink("Update", "UpdateCart", new { id = item.Id, quantity = item.Quantity }) </td> <td>@item.Total</td> <td>@Html.ActionLink("Remove", "RemoveFromCart", new { id = item.Id })</td> </tr> } <tr> <td colspan="3"></td> <td>Total: @Model.Total</td> <td></td> </tr> </table> ``` 4. 在购物车页面中为每个商品添加增加数量、减少数量、删除等按钮: ``` @Html.TextBoxFor(m => item.Quantity, new { @class = "quantity-input" }) @Html.ActionLink("Update", "UpdateCart", new { id = item.Id, quantity = item.Quantity }) @Html.ActionLink("Remove", "RemoveFromCart", new { id = item.Id }) ``` 5. 将购物车信息存储在会话中: ``` private ShoppingCart GetCart() { var cart = Session["Cart"] as ShoppingCart; if (cart == null) { cart = new ShoppingCart(); Session["Cart"] = cart; } return cart; } private void SaveCart(ShoppingCart cart) { Session["Cart"] = cart; } ``` 这样就可以实现一个简单的 ASP.NET MVC 购物车功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值