Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Làm cách nào có thể Insert cùng lúc nhiều dòng trong ASP.NET MVC

  1. #1
    Ngày gia nhập
    08 2010
    Nơi ở
    Hồ Chí Minh
    Bài viết
    131

    Mặc định Làm cách nào có thể Insert cùng lúc nhiều dòng trong ASP.NET MVC

    Chào mọi người! mình đang làm 1 dự án đến phần xử lý này mình bị rối nên post lên xem có ai giúp được hok! Cụ thể vấn đề của mình như sau

    Mình có 1 db như thế này
    export.bmp

    Và mình có 1 đoạn mã HTML để thêm như thế này
    HTML Code:
    1.    <table>
    2.         <tr>
    3.             <th>Name</th>
    4.             <th>Price 1</th>
    5.             <th>Price 2</th>
    6.             <th>Price 3</th>
    7.         </tr>
    8.         <tr>
    9.             <td>Tên 1</td>
    10.             <td><input type="text" name="price1" /></td>
    11.             <td><input type="text" name="price2" /></td>
    12.             <td><input type="text" name="price3" /></td>
    13.         </tr>
    14.         <tr>
    15.             <td>Tên 2</td>
    16.             <td><input type="text" name="price1" /></td>
    17.             <td><input type="text" name="price2" /></td>
    18.             <td><input type="text" name="price3" /></td>
    19.         </tr>
    20.         <tr>
    21.             <td>Tên 3</td>
    22.             <td><input type="text" name="price1" /></td>
    23.             <td><input type="text" name="price2" /></td>
    24.             <td><input type="text" name="price3" /></td>
    25.         </tr>
    26.         <tr>
    27.             <td>Tên 4</td>
    28.             <td><input type="text" name="price1" /></td>
    29.             <td><input type="text" name="price2" /></td>
    30.             <td><input type="text" name="price3" /></td>
    31.         </tr>
    32.     </table>

    Ví dụ ở đây mỗi lần thêm thì mình sẽ thêm cùng lúc 4 dòng trong bảng. Với cách xử lý như trên thì mình nghỉ sẽ có 1 vòng for để duyệt và thêm. Tuy nhiên mình đang thắc mắc chổ làm sao mình truyền được các giá trị này lên Controller để mình thực hiện vòng FOR để thêm từng dòng...

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    66

    Bạn dùng js để viết cái form nhé.
    Có nút add nó sẽ thêm một row cho bạn.

    Khi bạn post lên server thì encode nó thành json hoặc xml dạng array rồi trên đó parse sau đó add vào bảng thôi.

  3. #3
    Ngày gia nhập
    08 2010
    Nơi ở
    Hồ Chí Minh
    Bài viết
    131

    Nếu bạn không phiền thì cho mình xin cái ví dụ hoặc demo cũng đc ^^!

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    26

    các của bạn trên là một cách, để đơn giản bạn nên dùng một số js gird như kendo thì vừa hiện đại đẹp. Ngoài ra bên có thể post đi cùng một lúc, nhưng các id và nam bạn đặt theo quy tắc nhất định, trên server bạn for lần lượt chỉ số là được.

  5. #5
    Ngày gia nhập
    08 2010
    Nơi ở
    Hồ Chí Minh
    Bài viết
    131

    Cảm ơn các bạn! hổm rài mình chưa làm tới đây nữa! nên chưa thử, nhưng mình nghỉ là ko cần phải viết form bằng js
    Mình thì có ý tưởng như thế này!
    1. Mình hiển thị form như bình thường
    2. Sau đó khi nhập text và nhấn submit thì mình mới viết cái hàm dùng để bắt các value trong tất cả input của form và đổ nó vào 1 JsonOject sau đó thì mới gửi 1 chuỗi Json Oject đó lên sv
    3. Sau đó SV sẽ tiến hành xử lý chuỗi (tác ra thành các row và sau đó thì thêm từng hàng)

    Sao mội người nghỉ cách này thế nào! vì như mushu thì viết form bằng js thì nó chỉ là phần hiển thị lên thôi chứ chưa có xử lý phần sau khi hiển thị rồi nhập thứ gì vào (giá trị thay đổi)

    Bạn nhiephong_205 chính vì mình khôgn muốn xử dụng các control đó để thiết kế đó bạn à!

  6. #6
    Ngày gia nhập
    11 2007
    Bài viết
    7

    Mặc định Làm cách nào có thể Insert cùng lúc nhiều dòng trong ASP.NET MVC

    Quăng cái table của cậu vào form
    Ở Controller đưa vào hàm xử lý đối số
    Code:
    public ActionResult Them(FormCollection data)
    để bắt các giá trị này lặp lại nhiều lần thì dùng
    Code:
    var ItermsName = data.GetValues("NamePrice");
    var ItermsPrice1 = data.GetValues("price1");
    var ItermsPrice2 = data.GetValues("price2");
    var ItermsPrice3 = data.GetValues("price3");
    GetValues có s nhé...
    Mỗi mảng có số lượng item bằng nhau. Nên khi đó duyệt vòng for của một item(vì count bằng nhau) sẽ xử lý tương ứng các item khác.

    Code:
    for (int i = 0; i < ItermsName.Count(); i++)
    {
    <td>Tên 1</td>
    <td><input type="text" name="price1" /></td>
    <td><input type="text" name="price2" /></td>
    <td><input type="text" name="price3" /></td>
    Tương ứng
    ItermsName[0]
    ItermsPrice1[0]
    ItermsPrice2[0]
    ItermsPrice3[0]
    }
    Đã được chỉnh sửa lần cuối bởi nam5 : 11-01-2015 lúc 08:48 AM. Lý do: sai chính tả

  7. #7
    Ngày gia nhập
    08 2010
    Nơi ở
    Hồ Chí Minh
    Bài viết
    131

    Thank mình đã tìm ra cách rồi!

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn