2017-02-11 3 views
0

Я хочу иметь функцию «добавить строку» в моем asp.net mvc View. В одном из способов я могу сделать это: n скрытые строки и показать строку при каждом нажатии «добавить строку». Но тогда как я буду обрабатывать серийные номера (каждая строка будет иметь серийный номер), когда строка будет удалена. Я не хочу это делать с JS. Какой был бы лучший подход. Должен ли я делать это из кода? Какие-либо предложения?Как динамически добавлять/удалять строки в asp.net mvc?

+2

Ненависть, чтобы разбить его вам, но единственный чистый и здравомыслящий способ состоит в том, чтобы JavaScript помог вам в этом. Вам нужно будет сосать его и изучить эту дисциплину, если вы планируете карьеру в веб-разработке. В противном случае попросите своего участника использовать эту часть. – Joppe

+0

Я могу сделать это с JS, но я прочитал и услышал, что это не правильный подход. Это вызывает проблемы. – adityawho

+0

где вы слышали, что это неправильный подход? Какие проблемы? Чтобы сделать ваш пользовательский интерфейс динамическим (нет сообщений для удаления), вы должны использовать javascript. Не знаю, почему люди не любят javascript! – Shyju

ответ

-1

Вызвать веб-метод, используя Ajax, который вызывает удаление SQL для вас и восстанавливает сетку с новыми результатами в JS.

+1

Ajax без javascript ????? – Shyju

+0

Нет. Используйте javascript. – Nothing

+0

Читайте вопрос! «Я не хочу это делать с JS» – Shyju

0

Я не уверен, почему вы не хотите делать это с помощью javascript и всего на стороне клиента. Это был бы лучший опыт для пользователя, и это было бы быстрее.

Однако, поскольку вы специально указали, что хотите сделать это в коде позади, сделайте это. Создайте частичный вид и поместите требуемый html для новой строки в него. Затем вам нужно позвонить своему контроллеру, чтобы обслуживать этот html для вас с клиентской стороны. Вы можете сделать это с помощью AJAX. Вот как с JQuery:

$.ajax({ 
    type: "GET", 
    url: "/Home/GetSomePartialView/", 
    data: someArguments, 
    success: function (viewHTML) { 
    $("#someDiv").html(viewHTML); 
}, 
    error: function (errorData) { onError(errorData); } 
}); 

выше получит HTML и внедрить его в элемент с идентификатором someDiv.

Вам понадобится действие в контроллере для обслуживания html. Вот какой-то код:

public Action result GetSomePartialView(SomeArgumentModel someArguments) 
{ 

    return PartialView("_NewRow"); 
} 
+2

JQuery - это javascript, и нет такой вещи, как Ajax без javascript. – Joppe

+0

Да, но я никогда не говорил об этом выше. Согласен с вами. – CodingYoshi

+0

Мне нужен Ajax для показа строки ?? !! Это только в пользовательском интерфейсе. – adityawho

Смежные вопросы