مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

ثبت اطلاعات یک دیتاگرید در mvc.net

  • شنبه 23 تیر 1397
  • 20:35
تشکر میکنم

سلام

فرض کنید که یک دیتاگرید داریم و تعداد 10 رکورد ثبت کرده ام 

حال چگونه می توانم اطلاعات را بایک کلیک در جدول موردنظر ثبت کنم(در Controller create)

میشه نمونه کد قرار دهید 

باتشکر

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

مهدی الهی

عضویت از 1396/07/29

  • یکشنبه 24 تیر 1397
  • 01:34
سلام هنگامی کلیک کردبا فراخوانی یک تابع با استفاده از jquery یا javascript و... ،سطر های دیتا گرید رو سطر به سطر (با For) داخل آرایه یا .... بریزید و ارایه رو برای کنترلر ارسال کنید(با ajax)و طبق اون آرایه شما در دیتابیس ذخیره کنید راهی که من انجام دادم و جواب داد البته با استفاده از جدول، نه دیتا گرید که فکر نکنم تفاوتی داشته باشه
کاربر سایت

iran

عضویت از 1394/01/31

  • یکشنبه 24 تیر 1397
  • 05:32

سلام

نمونه کد دارید

کاربر سایت

مهدی الهی

عضویت از 1396/07/29

  • یکشنبه 24 تیر 1397
  • 12:16

View

<button type="button" class="btn btn-success waves-effect waves-light" onclick="Convert()">

<table class="table mytable" id="table1" style="text-align:center">
                        <tr>
                            <th>
                                @Html.DisplayNameFor(model => model.ForceRecallName)
                            </th>
                            <th>
                                @Html.DisplayNameFor(model => model.ForceRecallFamily)
                            </th>
                            <th>
                                <i class="fa fa-trash"></i>
                            </th>
                        </tr>
                    </table>

 
Script

    function ConvertToArray() {
        var tblData = "";
        var tblArr = [];

         //Get Row Value And Add to Text(tblData)
        tblLength = document.getElementById('table1').rows.length;
        for (i = 1; i < tblLength; i++) {

            var tblcell = document.getElementById('table1').rows[i].cells.length;
            for (j = 0; j < tblcell - 1; j++) {
                tblData += document.getElementById('table1').rows[i].cells[j].innerHTML + ",";

            }

        }

        //Send Array
        $.ajax({
            url: '@Url.Action("AddDb","ForceInRecalls")',
            type: "Get",
            dataType: 'json',
            contentType: 'application/json',
            data: { tbldata: tblData }
        }).done(function (result) {
            if (result.status) {
                swal({

                    type: 'success',
                    title: result.message,
                    showConfirmButton: false,
                    timer: 1500
                })

            }
        })
    }



</script>

Controller

 public ActionResult AddDb(string tbldata)
        {
        
          
            string[] name_family = tbldata.Split(',');
            for (int i = 0; i < name_family.Length-1; i+=2)
            {
                ForceInRecall newforce = new ForceInRecall();              
                newforce.ForceRecallName=name_family[i];
                newforce.ForceRecallFamily= name_family[i+1];        
                db.ForceInRecalls.Add(newforce);
                db.SaveChanges();
              
            }

            return Json(new { message = "اطلاعات ثبت شد", status = true }, JsonRequestBehavior.AllowGet);
        }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)