asp.net mvc添加多條數據到數據庫


mvc的視圖太強大了,個人剛剛接觸。(初級菜鳥,懂的不多,往大神們指點)需求是,客戶點擊添加按鈕彈出一個框選擇產品后直接添加到表單中,在表單可以自己更改產品的數量,以及一些信息。mvc表單提交的時候只要name屬性和要提交的控制器里面方法的參數一樣mvc就能自動識別,利用這個好處就可以很輕松的提交多條數據。

如圖顯示

前台代碼(沒有用mvc的一些擴展方法,@Html 之類的,我是為了說明添加多個表單)

<form action="/Home/Add" method="post">

    <table id="tb">
        <tr>
            <th>商品名稱</th><th>商品數量</th><th>商品類型</th>
        </tr>
        @for (int i = 1; i < 10; i++)
        {
            <tr>
                <td><input type="text" name="ProductName" value="名稱
                @i
                " /></td>
                <td><input type="text" name="ProductNum" value="數量
                @(i+3)
                " /></td>
                <td><input type="text" name="ProductType" value="類型了" /></td>
            </tr>
        }
        
    </table>
    <br />
    <input type="submit" id="" value="提交" />
</form>

后台代碼

 public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Add(List<string> ProductName, List<string> ProductNum, List<string> ProductType)
        {
            for (int i = 0; i < ProductName.Count; i++)
            {
                Product mod = new Product();
                mod.ProductName = ProductName[i];
                mod.ProductNum = ProductNum[i];
                mod.ProductType = ProductType[i];
                ProductSubmit(mod);
            }
            return View();
        }

        public bool ProductSubmit(Product mod)
        {
            //這里就可以直接執行EF 添加數據發方法了
            //  db.Add(mod); 
            return true;
        }

 

首先打開當我們提交表單的時候,用谷歌自帶插件看到把他這些數據提交了

 

到后台第一次逐個的遍歷每條數據,因為傳來的數據name有很多相同的,所以選擇用多個集合參數接受 用數組也可以,定義一個類專門接受應該也可以的

每循環一次得到一組數據,添加到數據中去,最后直接用  db.add(mod) ,然后保存就OK了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM