Vivek.anand34 Ответов: 2

Как сохранить значения после обратной передачи в MVC


уважаемый друг,

Я разработал слип запроса материала в mvc.. когда я сохраняю элементы в сетке, текстовые поля заголовка очищаются. как сохранить ценности. пожалуйста, помогите мне... Ниже функция showdata дает статическое значение своим работам: например. я даю "Вивек".

public ActionResult ShowData(int page = 1, string sort = "Id", string sortDir = "ASC")
       {
           const int pageSize = 10;
           bool Dir = sortDir.Equals("desc", StringComparison.CurrentCultureIgnoreCase) ? true : false;
           var maxId = (db.MRHdr.Select(x => (int?)x.Id).Max() ?? 0) + 1;
           var irc = "MRN-" + maxId;
           

           MRHdr mrhdr = new MRHdr() { MRNo = irc, MRDate = DateTime.Now, Remarks="Vivek"};
           var student = mobjModel.GetMRDPage(page, pageSize, sort, Dir, mrhdr.MRNo);
           var totalRows = mobjModel.CountStudent(mrhdr.MRNo);


           var data = new PagedStudentModel()
           {
               TotalRows = totalRows,
               PageSize = pageSize,
               VwMatReq = student,
             //  MRDtl = student,
               MRHdr = mrhdr
           };
           return View(data);
       }


Что я уже пробовал:

$(".save").live("click", function () {
       var id = $("#grid tbody tr").length;
      // var itemname = $("#Item_Name_" + id).val();
       var ircode = $("#ItemR_Code_" + id).val();
       var icode = $("#Item_Code_" + id).val();
       var qtyreq = $("#Qty_Req_" + id).val();
       var mrno = $("#MRNo").val();

       if (id != "") {
           $.ajax({
               type: "GET",
               contentType: "application/json; charset=utf-8",
               url: '@Url.Action("SaveRecord", "MRD")',
               data: { "ircode": ircode, "icode": icode, "qtyreq": qtyreq, "mrno": mrno },    //"itemname": itemname,
               dataType: "json",
               beforeSend: function () { },
               success: function (data) {
                   if (data.result == true) {
                     //  $("#divmsg").html("Record has been saved successfully !!");
                       window.location.replace("ShowData");
                     //  setTimeout(function () { window.location.replace("ShowData"); }, 2000);
                   }
                   else {
                       alert('There is some error');
                   }
               }
           });
       }
   });


Контроллер:
[HttpGet]
      public JsonResult SaveRecord(string itemname, string ircode, string icode, int qtyreq, string mrno)
      {
          bool result = false;
          try
          {
              result = mobjModel.SaveMRDtl(ircode, icode, qtyreq, mrno);
          }
          catch (Exception ex)
          {
          }          
          return Json(new { result }, JsonRequestBehavior.AllowGet);  
      }

Vivek.anand34

Я обновил свой вопрос. выше показать данные функции я дал замечания= "Вивек" ее выполнил. но мне нужно то, что я ввожу в текстовое поле Примечания..

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Разве вы не можете отправить значение текстового поля в ShowData?

2 Ответов

Рейтинг:
2

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

У вас уже есть все данные на стороне клиента. Просто создайте строку html-таблицы и добавьте ее в таблицу.

Я не думаю, что вам нужно вызывать метод "ShowData".

Обновление
Вы можете использовать что-то вроде приведенного ниже, чтобы добавить строку в таблицу.

$('#myTable > tbody:last-child').append('<tr><td>Data 1</td><td>Data 2</td></tr>');


Vivek.anand34

Как добавить это.. можно пример кода..

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Проверьте мой обновленный ответ.

Vivek.anand34

на самом деле значения сетки берутся из базы данных.. когда я нажимаю кнопку Сохранить в сетке, она сохраняется и отображается в сетке.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Затем просто верните эти значения из самого метода save и добавьте внутри метода success, используя эти значения.

Vivek.anand34

выше код - это мой код метода сохранения.. как получить значения в методе успеха.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Вы уже вернули результат. Просто прочтите это в методе успеха.

Vivek.anand34

извините, я новичок в mvc can u send sample code how to read it..

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Здесь нет никакого смысла в mvc. Вы можете сделать это, как показано ниже.

успех: функция (данные) {
var someValue = данные.параметр propertyName;
}

Vivek.anand34

здесь propertyName означает ниже "mrno" справа.
var mrno = $("#MRNo"). val();

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Нет, это свойство объекта, который вы вернули из метода Save. Как ты сказал, что хочешь получить эти ценности,так я и сказал.

Итак, в настоящее время используется метод " mobjModel.SaveMRDtl" возвращает "истина/ложь". Поскольку вам нужны все значения, попробуйте вернуть те значения, которые вам нужны на стороне клиента, чтобы добавить их в таблицу.

Vivek.anand34

Хорошо, я попробую..

Vivek.anand34

и если бы я объявил это "какой-то ценностью".

Vivek.anand34

можем ли мы привязать данные из БД без добавления...

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Нет. Это самый лучший способ.

Vivek.anand34

Это моя сетка. как добавить в эту сетку:
@сетка.GetHtml(
htmlAttributes: new { id = " grid" },
fillEmptyRows: ложь,
режим: WebGridPagerModes.Все,
firstText: "< & lt; First",
previousText: "< Prev",
nextText: "Next >",
lastText: "Last >>",
колонки: новые[] {
сетка.Колонки("идентификатор", заголовок: "ИД", canSort: правда),
сетка.Столбец (заголовок: "имя элемента", формат: @ @пункт.Имя @Html. TextBox ("Item_name" + (int)item.Идентификатор (строка)пункт.ItemName, new {@class= "ItemName", @style = " display:none" })),
сетка.Столбец (формат: @ @пункт.IRateCode @Html. TextBox ("ItemR_Code_" + (int)item.Идентификатор (строка)пункт.IRateCode, new { @class = "IRCode", @style = " display:none" })),
сетка.Столбец (заголовок: "код товара", формат: @ @пункт.Артикул @Html. TextBox ("Item_Code_" + (int)item.Идентификатор (строка)пункт.Артикул, новые { @класс = "артикул", @стиль = "дисплей:нет" })),
сетка.Столбец (заголовок: "цена единицы измерения", формат: @ @пункт.Цена @Html. TextBox ("Unit_Price_" + (int)item.Id, (int)item.Цена, новые { @класс = "цена", @стиль = "дисплей:нет" })),
сетка.Столбец (заголовок:"запрошенное кол-во", формат: @ @item.QtyRequested @Html. TextBox ("Qty_Req_" + (int)item.Id, (десятичный)item. QtyRequested, new { @style = " display:none" })),
// сетка.Столбец (заголовок: "MRNo", формат: @ @item.MRNo @Html. TextBox ("MR_No_" + (int)item.Идентификатор (строка)пункт.MRNo, new { @style = " display:none" })),
сетка.Колонка (заголовок: "действие", format:@<текст> Редактировать
Обновление
Отменить
Удалить)
})

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Как я уже сказал, Все в браузере отображается как обычный html. Таким образом, сетка визуализируется в виде таблицы. Я уже говорил вам, как добавить строку к таблице. Проверьте это по моему ответу.

Vivek.anand34

я дам свой источник и БД, как вы видите... мой экран

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Нет, извини. Ты должен это сделать. Я также помогал с кодами. По крайней мере, ты можешь попытаться. Вы даже не пытаетесь.

Vivek.anand34

добавить означает динамически хранить значения в правой части сетки.. предположим, я хочу обновить средства, которые я буду обновлять на основе идентификатора..

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Я сказал вам вернуть эти значения базы данных после сохранения. Таким образом, внутри метода save вызов метода save должен вернуть вам все необходимые сведения, необходимые для строки сетки. Затем внутри метода успеха вы можете получить эти значения. Теперь для строки таблицы используйте эти значения и добавьте их в таблицу.

Vivek.anand34

см. выше комментарий сетки кодирования, который является строкой. я хочу добавить в эту строку.. но нет идентификатора строки.. как объявить в этой сетке..

Vivek.anand34

$(документ).готово(функция () {
$. getJSON(url1, json,
функция (json) {
ВАР тр;
for (var i = 0; i < json.длина; i++) {
tr = $(");
тр.добавить("" + формат JSON[я].ИД + "");
tr. append("" + json[i]. itemname + "");
tr. append("" + json[i]. itemcode + "");
тр.добавить("" + формат JSON[я].ircode + "");
тр.добавить("" + формат JSON[я].qtyreq + "");
$('#divgrid'). append(tr);
}
});
});

я использую этот код для добавления, но не добавлял.. любая ошибка в этом коде.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Так и должно быть...

tr = $('tr');

Если это не сработает, попробуйте отладить.

Vivek.anand34

Я использую на этом сайте его выполненный:
http://stackoverflow.com/questions/17066636/parsing-json-objects-for-html-table

там принят Ответ Нажмите кнопку jsfiddle..

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Пожалуйста, отладьте и проверьте консоль разработчика.

Vivek.anand34

а там что такое json,и как я даю в url..

я дал вот так
ВАР в JSON = { "идентификатор": "идентификатор", "имя": имя, "ircode": ircode, "вплоть": Кбайта, "qtyreq": qtyreq };
var url1 = ' @Url. Action ("GetGrid", "MRD")';

Рейтинг:
1

anup.bhunia

В ASP.NET MVC сохранение данных очень просто;
если вы разместите форму, в которой контроллер обнаружил какую-то ошибку, и вернете назад представление с привязанным к нему модулем ввода, так что не беспокойтесь.


Если вы делаете пользовательский пост Ajax, HTML не будет изменен, вам нужно показать результат действия поверх более раннего HTML, просто.

Если вы делаете это из встроенного редактирования сетки, то вам может помочь следующая статья;

Демонстрация встроенного редактирования сетки


Vivek.anand34

3 дня пытаюсь не решить эту проблему.. пожалуйста, кто-нибудь помогите...
я сохраняю с помощью javascript и [HTTPGET] в контроллере.

Vivek.anand34

На самом деле в окне скрипта.location. replace ("ShowData"); без этой строки. сохранить, но не привязать в сетку. с этой линией связали. но текстовое поле заголовка очищено.

anup.bhunia

Не очень понятно, что вы подразумеваете под заголовком текстового поля...вы можете опубликовать какой-нибудь скриншот.
В отдельном примечании Вы не должны использовать метод HTTPGET для сохранения данных.

Vivek.anand34

Как прикрепить файл здесь.. и посмотреть выше его мой код сохранения..