加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.Net MVC2中完成此类URL?

发布时间:2020-12-16 00:14:45 所属栏目:asp.Net 来源:网络整理
导读:我有一个名为Categories的表.我希望用户从类别列表中单击,然后加载该类别中所有拍卖的列表. 很简单吧? 我可以为每个类别创建一个动作,例如: public ActionResult Cellphones()public ActionResult Electronicspublic ActionResult Clothespublic ActionRes
我有一个名为Categories的表.我希望用户从类别列表中单击,然后加载该类别中所有拍卖的列表.

很简单吧?

我可以为每个类别创建一个动作,例如:

public ActionResult Cellphones()
public ActionResult Electronics
public ActionResult Clothes
public ActionResult Cars
public ActionResult RealEstate

这将生成以下URL:/ Auctions / Clothes和/ Auctions / RealEstate.正是我在寻找什么.

问题是这需要手动修补.当我添加一个类别时,我将不得不手动创建一个新动作,然后为它创建一个新视图.

有一个更好的方法吗?

解决方法

创建一个ActionResult:
public class AuctionController : Controller
{
    public ActionResult AuctionCategoryDetails(string categoryName)
    {
        var model = repository.GetAuctionsForCategory(categoryName);
        return View(model);
    }
}

然后创建一个路线:

routes.MapRoute(
    "AuctionCategoryDetails","Auctions/{categoryName}",new { controller = "Auction",action = "AuctionCategoryDetails" });

所以当你显示一个类别列表(而不是个别细节);

<% foreach (var category in Model.Categories) { %>
   <%: Html.RouteLink("Category Details","AuctionCategoryDetails",new { categoryName = category.CategoryName });
<% } %>

这将产生一个这样的链接列表:

<a href="/Auctions/Clothes">Category Details</a>
<a href="/Auctions/RealEstate">Category Details</a>

那是你的追求吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读