国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

這篇具有很好參考價(jià)值的文章主要介紹了[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

經(jīng)過一段時(shí)間的準(zhǔn)備,新的一期【ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)】已經(jīng)開始,在之前的文章中,講解了商城系統(tǒng)的整體功能設(shè)計(jì),頁面布局設(shè)計(jì),環(huán)境搭建,系統(tǒng)配置,及首頁【商品類型,banner條,友情鏈接,降價(jià)促銷,新品爆款】等功能的開發(fā),今天繼續(xù)講解商品列表頁面功能開發(fā),僅供學(xué)習(xí)分享使用,如有不足之處,還請指正。

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

?

商品列表功能說明

?

一般首頁主要用于呈現(xiàn)給客戶最想看到的商品,如:銷量最高,降價(jià)促銷,季度新品等,如果客戶想要的商品在首頁并沒有展示,就需要用戶搜索商品的關(guān)鍵詞來查找,或者通過商品類型來縮小范圍,這時(shí)候就會需要用到商品列表功能。

商品列表主要用于搜索商品結(jié)果的展示,或者某一種商品類型商品的展示,呈現(xiàn)方式有兩種:網(wǎng)格形式或者列表形式,用戶可以在兩種形式之間自由切換。

?

商品列表設(shè)計(jì)

?

根據(jù)功能分析,商品列表主要展示商品信息,有網(wǎng)格形式和列表形式兩種。整體頁面如下所示:

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

?

商品列表功能開發(fā)

?

商品列表主要展示商品信息,關(guān)于商品表EB_Product和對應(yīng)模型Product的創(chuàng)建,可參考前一篇文章。

?

1. 數(shù)據(jù)處理層DAL

?

首先商品列表主要有兩個(gè)來源,1.點(diǎn)擊商品類型跳轉(zhuǎn)商品列表 2. 關(guān)鍵字搜索進(jìn)入商品列表。所以在檢索時(shí)需要滿足兩個(gè)條件。DAL【Data Access Layer】層處理如下所示:

using EasyBuyShop.Models;
using EasyBuyShop.Utils;

namespace EasyBuyShop.DAL
{
    public class ProductDal:BaseDal
    {
        public List<Product> GetProductList(int categoryId,int subCategoryId,string productName)
        {
            try
            {
                using (var db = this.GetDb(BaseDal.ConnStr))
                {
                    if(categoryId>0 && subCategoryId > 0)
                    {
                        return db.Queryable<Product>().Where(r=>r.CategoryId==categoryId && r.SubCategoryId==subCategoryId).ToList();
                    }
                    else
                    {
                        return db.Queryable<Product>().Where(r => r.Name.Contains(productName)).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Fatal(ex.Message);
                return new List<Product>();
            }
        }
    }
}

?

2. 控制器獲取

?

在控制器ProductController的Index方法中,以接收到的參數(shù)為條件,獲取符合條件的商品列表,傳遞到視圖層,如下所示:

public IActionResult Index(int categoryId,int subCategoryId,string productName)
{
    var username = HttpContext.Session.GetString("username");
    var realName = HttpContext.Session.GetString("realname");
    ViewBag.Username = username;
    ViewBag.RealName = realName;
    ProductDal productDal = new ProductDal();
    var productList= productDal.GetProductList(categoryId, subCategoryId, productName);
    ViewData["ProductList"]= productList;
    return View();
}

同樣在本示例中,以ViewData來傳遞數(shù)據(jù)。個(gè)人建議:對于簡單類型,可采用ViewBag進(jìn)行傳遞;對于復(fù)雜類型,或視圖中需要明確類型的,可采用ViewData進(jìn)行傳遞。

?

3. 視圖層展示

?

在視圖Views\Product\Index.cshtml頁面中,對控制器方法傳遞的數(shù)據(jù)進(jìn)行解析組合展示。如下所示:

@{
    ViewData["Title"] = "商品列表";
}
<div class="shop-page-area ptb-100">
    <div class="container" style="width:100%;padding-left:0px;padding-right:0px;">
        <div class="row">
            <div class="col-md-9">
                <div class="blog-wrapper shop-page-mrg">
                    <div class="tab-menu-product">
                        <div class="tab-menu-sort">
                            <div class="tab-menu">
                                <ul role="tablist">
                                    <li class="active" id="gridTab">
                                        <a href="#grid" data-toggle="tab" onclick="javascript:showGrid();return false;">
                                            <i class="fa fa-th-large"></i>
                                            網(wǎng)格
                                        </a>
                                    </li>
                                    <li id="listTab">
                                        <a href="#list" data-toggle="tab" onclick="javascript:showList();return false;">
                                            <i class="fa fa-align-justify"></i>
                                            列表
                                        </a>
                                    </li>
                                </ul>
                            </div>
                            <div class="tab-sort">
                                <label>排序 : </label>
                                <select>
                                    <option value="">位置</option>
                                    <option value="">流行度</option>
                                    <option value="">價(jià)格</option>
                                    <option value="">評分</option>
                                </select>
                            </div>
                        </div>
                        <div class="tab-product">
                            <div class="tab-content">
                                <div class="tab-pane active" id="grid">
                                    <div class="row">
                                        @{
                                            var products = ViewData["ProductList"] as List<Product>;
                                            if(products!=null && products.Count > 0)
                                            {
                                                foreach (var product in products)
                                                {
                                                    <div class="col-md-6 col-lg-4 col-sm-6">
                                                        <div class="single-shop mb-40">
                                                            <div class="shop-img">
                                                                <a href="#"><img src="@product.ImageUrl" alt=""></a>
                                                                <div class="shop-quick-view">
                                                                    <a href="/Product/Detail/@product.Id" data-toggle="modal" data-target="#quick-view" title="預(yù)覽">
                                                                        <i class="pe-7s-look"></i>
                                                                    </a>
                                                                </div>
                                                                <div class="button-group">
                                                                    <a href="#" title="添加購物車" onclick="javascript:addCart(@(product.Id));return false;">
                                                                        <i class="pe-7s-cart"></i>
                                                                        添加購物車
                                                                    </a>
                                                                    <a class="wishlist" href="#" title="立即購買" onclick="javascript:buy(@(product.Id));return false;">
                                                                        <i class="pe-7s-like"></i>
                                                                        立即購買
                                                                    </a>
                                                                </div>
                                                            </div>
                                                            <div class="shop-text-all">
                                                                <div class="title-color fix">
                                                                    <div class="shop-title f-left">
                                                                        <h3><a href="/Product/Detail/@product.Id">@product.Name</a></h3>
                                                                    </div>
                                                                    <span class="price f-right">
                                                                        <span class="new">$@product.PreferentialPrice</span>
                                                                    </span>
                                                                </div>
                                                                <div class="fix">
                                                                    <span class="f-left">@(product.BasicStyle) | @(product.ProductStyle)</span>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                }
                                            }
                                            else
                                            {
                                                <div>沒有符合條件的商品</div>
                                            }
                                        }
                                    </div>
                                </div>
                                <div class="tab-pane mb-10" id="list">
                                    <div class="row">
                                        <div class="col-md-12">
                                            <div class="row">
                                                @{
                                                    if (products != null && products.Count > 0)
                                                    {
                                                        foreach (var product in products)
                                                        {
                                                            <div class="single-shop mb-40">
                                                                <div class="col-md-4 col-sm-4 col-xs-12">
                                                                    <div class="shop-list-left">
                                                                        <div class="shop-img">
                                                                            <a href="#"><img src="@product.ImageUrl" alt=""></a>
                                                                            <div class="shop-quick-view">
                                                                                <a href="#" data-toggle="modal" data-target="#quick-view" title="預(yù)覽">
                                                                                    <i class="pe-7s-look"></i>
                                                                                </a>
                                                                            </div>
                                                                            <div class="price-up-down">
                                                                                <span class="sale-new"> @(Math.Round(product.Preferential * 100, 0))% </span>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                                <div class="col-md-8 col-sm-8 col-xs-12">
                                                                    <div class="shop-list-right">
                                                                        <div class="shop-list-all">
                                                                            <div class="shop-list-name">
                                                                                <h3><a href="/Product/Detail/@product.Id">@product.Name</a></h3>
                                                                            </div>
                                                                            <div class="shop-list-rating">
                                                                                <span class="ratting">
                                                                                    <i class="fa fa-star active"></i>
                                                                                    <i class="fa fa-star active"></i>
                                                                                    <i class="fa fa-star active"></i>
                                                                                    <i class="fa fa-star active"></i>
                                                                                    <i class="fa fa-star active"></i>
                                                                                </span>
                                                                            </div>
                                                                            <div class="shop-list-price">
                                                                                <span class="list-price">
                                                                                    <span class="new">$@product.PreferentialPrice</span>
                                                                                    <span class="old">$@product.Price</span>
                                                                                </span>
                                                                            </div>
                                                                            <div class="shop-list-cart">
                                                                                <div class="shop-group">
                                                                                    <a href="#" title="加入購物車" onclick="javascript:addCart(@(product.Id));return false;">
                                                                                        <i class="pe-7s-cart"></i>
                                                                                        加入購物車
                                                                                    </a>
                                                                                    <a class="wishlist" href="#" title="立即購買" onclick="javascript:buy(@(product.Id));return false;">
                                                                                        <i class="pe-7s-like"></i>
                                                                                        立即購買
                                                                                    </a>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        }
                                                    }
                                                    else
                                                    {
                                                        <div>沒有符合條件的商品</div>
                                                    }
                                                }
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="page-pagination text-center" style="margin-top:10px;">
                                    <ul>
                                        @{
                                            var totalNum =Math.Ceiling(products.Count / 40.0f);
                                            var currentNum = 1;
                                            for(int i = 1; i <= totalNum; i++)
                                            {
                                                <li><a class="@(i == currentNum?"active":string.Empty)" href="#">@i</a></li>
                                            }
                                        }
                                        <li><a href="#"><i class="fa fa-angle-double-right">?</i></a></li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="~/js/plugins.js"></script>
<script src="~/js/shop.js"></script>

?

運(yùn)行測試

?

運(yùn)行頁面,點(diǎn)擊商品類型,跳轉(zhuǎn)到商品列表,效果如下所示:

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

?

UI設(shè)計(jì)說明

?

在本示例中,其實(shí)后端業(yè)務(wù)邏輯并不是很復(fù)雜,主要是前端UI相對比較麻煩,如布局,展示,定位等相關(guān)內(nèi)容。如果沒有對應(yīng)方面的知識儲備,建議先找相資料進(jìn)行學(xué)習(xí)。

關(guān)于CSS中display屬性以及說明如下所示:

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

關(guān)于CSS中的Position屬性說明如下所示:

[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

以上就是ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)第三部分內(nèi)容。后續(xù)將繼續(xù)介紹其他模塊。文章來源地址http://www.zghlxwxcb.cn/news/detail-610080.html

到了這里,關(guān)于[回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

    [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(三)

    經(jīng)過一段時(shí)間的準(zhǔn)備,新的一期【ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)】已經(jīng)開始,在之前的文章中,講解了商城系統(tǒng)的整體功能設(shè)計(jì),頁面布局設(shè)計(jì),環(huán)境搭建,系統(tǒng)配置,及首頁【商品類型,banner條,友情鏈接,降價(jià)促銷,新品爆款】等功能的開發(fā),今天繼續(xù)講解 商品列表

    2024年02月15日
    瀏覽(19)
  • [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(二)

    [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(二)

    經(jīng)過一段時(shí)間的準(zhǔn)備,新的一期【ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)】已經(jīng)開始,在之前的文章中,講解了商城系統(tǒng)的整體功能設(shè)計(jì),頁面布局設(shè)計(jì),環(huán)境搭建,系統(tǒng)配置,及首頁商品類型,banner條,友情鏈接等功能的開發(fā),今天繼續(xù)講解首頁的 降價(jià)促銷,新品爆款 等內(nèi)容,

    2024年02月16日
    瀏覽(29)
  • [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(完:內(nèi)附源碼)

    [回饋]ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)(完:內(nèi)附源碼)

    經(jīng)過一段時(shí)間的準(zhǔn)備,【ASP.NET Core MVC開發(fā)實(shí)戰(zhàn)之商城系統(tǒng)】已經(jīng)完成,目前代碼已開發(fā)完成,先將全部內(nèi)容整理分享,如有不足之處,還請指正。 ? ? 本系列文章主要講解了商城系統(tǒng)的整體功能設(shè)計(jì),頁面布局設(shè)計(jì),環(huán)境搭建,系統(tǒng)配置,及首頁【商品類型,banner條,友情

    2024年02月11日
    瀏覽(23)
  • asp.net core 框架搭建2-搭建MVC后臺管理系統(tǒng)

    asp.net core 框架搭建2-搭建MVC后臺管理系統(tǒng)

    作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/131458964 asp.net core 框架搭建2-搭建MVC后臺管理系統(tǒng) ,本文章介紹asp.net core框架搭建,然后開發(fā)一個(gè)后臺管理系統(tǒng),將一步步帶著大家,實(shí)現(xiàn)目標(biāo)。所有操作過程將展現(xiàn)在本篇文章,下面咋們一起來實(shí)現(xiàn)它吧。 使

    2024年02月12日
    瀏覽(20)
  • ASP.NET Core MVC -- 將視圖添加到 ASP.NET Core MVC 應(yīng)用

    ASP.NET Core MVC -- 將視圖添加到 ASP.NET Core MVC 應(yīng)用

    右鍵單擊“視圖”文件夾,然后單擊“添加”“新文件夾”,并將文件夾命名為“HelloWorld”。 右鍵單擊“Views/HelloWorld”文件夾,然后單擊“添加”“新項(xiàng)”。 在“添加新項(xiàng) - MvcMovie”對話框中: 在右上角的搜索框中,輸入“視圖” 選擇“Razor 視圖 - 空” 保持“名稱”框的

    2024年02月13日
    瀏覽(127)
  • ASP.NET Core MVC -- 入門

    ASP.NET Core MVC -- 入門

    ?帶有 ASP.NET 和 Web 開發(fā)工作負(fù)載的Visual Studio Visual Studio Code Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 7.0 SDK ?ctrl + F5 (開始執(zhí)行,不調(diào)試) 在代碼工作區(qū)間文件夾路徑下打開終端運(yùn)行下面的命令 ?通過運(yùn)行以下命令來信任 HTTPS 開發(fā)證書: 編譯運(yùn)行

    2024年02月11日
    瀏覽(46)
  • ASP.NET Core 中的 MVC架構(gòu)

    ASP.NET Core 中的 MVC架構(gòu)

    MVC架構(gòu)把 App 按照邏輯分成三層: Controllers,接收 http request,配合 model,通過http response 返回 view,盡量不做別的事 Models, 負(fù)責(zé)業(yè)務(wù)邏輯,App 的狀態(tài),以及數(shù)據(jù)處理 Views,呈現(xiàn) UI,如果UI 較復(fù)雜,應(yīng)該使用View 組件, ViewModel, 或者 view 模板 Controller ASP.NET Core MVC 中的所有 Control

    2024年02月09日
    瀏覽(19)
  • ASP.NET Core MVC -- 控制器

    ASP.NET Core MVC -- 控制器

    默認(rèn)控制器訪問index 特定訪問路徑 ? 特定路徑訪問,帶參數(shù)

    2024年02月12日
    瀏覽(28)
  • 基于ASP.NET MVC開發(fā)的、開源的個(gè)人博客系統(tǒng)

    基于ASP.NET MVC開發(fā)的、開源的個(gè)人博客系統(tǒng)

    推薦一個(gè)功能豐富、易于使用和擴(kuò)展的開源博客,可以輕松地創(chuàng)建和管理自己的博客。 基于.Net Framework 4.5開發(fā)的、開源博客系統(tǒng),具有豐富的功能,包括文章發(fā)布、分類、標(biāo)簽、評論、訂閱、統(tǒng)計(jì)等功能,同時(shí)也可以根據(jù)需要進(jìn)行自定義擴(kuò)展。 提供了豐富的配置選項(xiàng)和API,

    2024年02月14日
    瀏覽(30)
  • 【ASP.NET Core】MVC過濾器:常見用法

    【ASP.NET Core】MVC過濾器:常見用法

    前面老周給大伙伴們演示了過濾器的運(yùn)行流程,大伙只需要知道下面知識點(diǎn)即可: 1、過濾器分為授權(quán)過濾、資源訪問過濾、操作方法(Action)過濾、結(jié)果過濾、異常過濾、終結(jié)點(diǎn)過濾。上一次咱們沒有說異常過濾和終結(jié)點(diǎn)過濾,不過老周后面會說的。對這些過濾器,你有印

    2024年02月05日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包