mvc 后台传递html,asp.net-mvc – 如何将通用列表传递给Html.ActionLink(…)?

我有一个表单使用属性multiple =“multitple”的控件.这允许用户在控件中选择多个项目.

使用get方法提交表单时,请求页面的url包含一个具有相同名称的多个参数.每个项目选择一个.例如,我可以得到这样的东西:

/logs?levels=DEBUG&levels=INFO&levels=FATAL

在我的控制器中,操作正确地接收类型为List的参数中的值,如下所示:

public ActionResult Index(List levels)

{

...

}

现在,出于某种原因,我需要创建一个指向此操作的链接,该链接将包含levels参数的多个值.如何使用Html.ActionLink创建这样的链接?我这样试过:

@Html.ActionLink((p + 1).ToString(), "Index", new {

levels = ViewBag.selectedLevels_AS_A_GENERIC_LIST_OF_STRINGS,

itemsPerPage = ViewBag.itemsPerPage

});

它不起作用,因为列表不以任何方式扩展,而是在其上调用.ToString()并将结果插入到链接中.当然,我无法创建一个具有名为“levels”的倍数属性的对象.

如何创建一个ActionLink,就像我使用的表单生成的一样?

谢谢

  • 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、付费专栏及课程。

余额充值