Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ASP .NET и AJAX / 2 сообщений из 2, страница 1 из 1
30.05.2019, 11:27
    #39820263
Hanuman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP .NET и AJAX
Здравствуйте коллеги!
собственно вопрос в следующем:
Есть вот такая контролка:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public PartialViewResult GetPlain()
        {
            var plains = db.Plains
                .Include(p => p.area)
                .Include(p => p.driver)
                .Include(p => p.stat)
                .Take(5)
                .OrderByDescending(p => p.ID);
            return PartialView(plains.ToList());
        }


Есть другая контролка где вызывается процедура:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                SqlCommand command = new SqlCommand(sqlExpression, connection);
                // указываем, что команда представляет хранимую процедуру
                command.CommandType = CommandType.StoredProcedure;

                SqlParameter nameParam = new SqlParameter
                {
                    ParameterName = "@plain_dt_begin",
                    Value = PlainsDtBegin
                };
                command.Parameters.Add(nameParam);

                SqlParameter plain_dt_end = new SqlParameter
                {
                    ParameterName = "@plain_dt_end",
                    Value = PlainsDtEnd
                };
                command.Parameters.Add(plain_dt_end);

                SqlParameter date = new SqlParameter
                {
                    ParameterName = "@plain_date",
                    Value = PlainsDate
                };
                command.Parameters.Add(date);

                var result = command.ExecuteNonQuery();
                connection.Close();
            }
            return RedirectToAction("GetPlain");



Во вьювере AJAX:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<form class="form-horizontal validate" id="validate" 
                  data-ajax="true" 
                  data-ajax-mode="replace" 
                  data-ajax-update="#results"
                  role="form" 
                  method="post" 
                  action="/Plains/AddPlain">
                @Html.AntiForgeryToken()
                <div class="row">
                    <div class="col-md-4">
                        <div class="text-left  form-group has-feedback row">
                            <label for="login" class="text-left control-label col-md-6 col-lg-6">Дата:</label>
                            <div class="editor-field col-md-6 col-lg-6 ">
                                @Html.TextBoxFor(model => model.PlainsDate, new { @class = "form-control required" })
                            </div>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="form-group has-feedback row">
                            <label for="login" class="control-label col-md-6 col-lg-6">Дт на начачало смены:</label>
                            <div class="editor-field col-md-6 col-lg-6">
                                @Html.TextBoxFor(model => model.PlainsDtBegin, new { @class = "form-control required" })
                            </div>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="form-group has-feedback row">
                            <label for="login" class="control-label col-md-6 col-lg-6">Дт на конец смены:</label>
                            <div class="editor-field col-md-6 col-lg-6">
                                @Html.TextBoxFor(model => model.PlainsDtEnd, new { @class = "form-control required" })
                            </div>
                        </div>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-xs-offset-5 col-xs-7">
                        <input type="submit" id="save" class="btn btn-primary" value="Добавить" />
                    </div>
                </div>

            </form>


Вводим данные отправляем параметры в контролер, эти параметры передаются в процедуру, потом заносятся в БД. В принципе все работает НО в БД добавляется 2 одинаковые строки. Вот я не могу понять почему строки дублируются? Если не использовать аякс, то добавляется только одна строка, но тогда перегружается вся страница что крайне не удобно. Подскажите пожалуйста что не так? что мне исправить?
Вот это аякс обновляет:
Код: html
1.
2.
3.
<tbody id="results">
@Html.Action("GetPlain", "Plains")
</tbody>
...
Рейтинг: 0 / 0
30.05.2019, 12:17
    #39820278
Hanuman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP .NET и AJAX
Ох извиняюсь я за свой вопрос :) разобрался в чем проблема была... извините :)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ASP .NET и AJAX / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]