2013-12-19 2 views
0

У меня есть много продуктов в сетке (таблице).Почтовая кнопка в сетке

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

Теперь мой вопрос: как я могу определить после сообщения сообщения, какая строка таблицы выбрана?

С наилучшими пожеланиями

<table id="tbltraining" class="tblStyle"> 
<tr class="tblHearerRow"> 
    <th class="tblHearerCell" style="width:50px;"> 

    </th> 
    <th class="tblHearerCell" style="width:50px;"> 

    </th> 
    <th class="tblHearerCell" style="width:200px;"> 
     Name 
    </th> 
    <th class="tblHearerCell" style="width:100px;"> 
     Price 
    </th> 
    <th class="tblHearerCell"> 
     Actions 
    </th> 
</tr> 
@foreach (var item in Model.Products) 
{ 
    <tr class="tblRow" style="background-color:#c4cbf8"> 
     <td id="itemId" class="itemIdClass tblColumn"> 
      @Html.DisplayFor(modelItem => item.Id) 
     </td> 
     <td class="tblColumn" style="font-weight:bold;"> 
      @Html.DisplayFor(modelItem => item.Name) 
     </td> 
     <td class="tblColumn"> 
      @Html.DisplayFor(modelItem => item.Price) 
     </td> 
     <td class="tblColumn"> 
      <input type="button" value="Edit" 
        class="buttonEdit btnStyleOne" /> 
      <input type="button" value="Delete" 
        class="buttonDelete btnStyleOne" /> 
      <input type="button" value="Add Category" 
        class="buttonDelete btnStyleOne" /> 
     <td> 
    </tr> 
+0

показать свою разметку вида – Shyju

+0

См. Мой ответ .. – Shyju

ответ

1

Ваш лучший и самый простой вариант - просто использовать тег формы. Нет ограничений на количество форм, которые вы можете иметь на странице.

<form action="@Url.Action("delete","products", new { id = item.ID })" method="POST"> 
    <button type="submit">Delete</button> 
</form> 

Вы можете получить действительно фантазию и создать вспомогательный метод или частичный вид, но это в основном все, что вам нужно.

Дополнительные пункты для использования HttpVerb DELETE.

+0

Вы уже использовали его? :-) – Patrik

+0

Да, это подход, который я всегда использую в своих приложениях. Он работает красиво. Я не создаю помощника, потому что мне нравится иметь доступный html. –

1

Предполагая, что Ваше мнение, чтобы показать список продуктов.

@foreach(var item in Model.Products) 
{ 
    <div> 
    <span>@item.ProductName</span> 
    <span>@item.Price</span> 

    @Html.ActionLink("Edit","Edit",new {@id=item.ID}) | 
    @Html.ActionLink("Delete","Delete","Products",new {@id=item.ID}, 
                   new {@class="del"}) 
    </div> 
} 

ActionLink вспомогательный метод будет оказывать якорный тег и нажав на кнопку, которая будет выдавать GET запрос. мы не хотим, чтобы операция DELETE. Таким образом, мы будем бипать событие click в javascript и делать асинхронно запрос POST.

<script type="text/javascript"> 
$(function(){ 

    $("a.del").click(function(e){ 

    e.preventDefault(); 
    $.post($(this).attr("href"),function(res){ 
     // do something with the response 
    }); 

    }); 

}); 
</script> 
Смежные вопросы