добавление значка удаления "x" к каждой записи в представлении - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть представление, в котором перечислены студенты. Я хочу добавить значок удаления (красный «х») перед каждым студентом. щелчок по значку удаления удалит этого ученика.

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

Вот мой код просмотра:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="Student.Models" %>

<asp:Content ID="Content3" ContentPlaceHolderID="TitleContent" runat="server">
    Student
</asp:Content>

<asp:Content ID="Content4" ContentPlaceHolderID="MainContent" runat="server">

<form id="Form1" method="get" action="/Student/RemoveStudent/" runat="server">
    <label for="id">
        Student ID:
    </label>
    <input type="text" name="studentID" value="<%=HttpContext.Current.Request.QueryString["studentID"]%>" />

    <input type="submit" value="Remove Student"/>

    </form>

    <h2>Students</h2>
        <table>
          <% foreach (Student in (IEnumerable)ViewData.Model)

          { %>
         <tr>
            <td>
               <%= s.StudentID %> 
            </td>
        </tr>
          <% } %>
    </table>

</asp:Content>

Вот мой контроллер Действие:

public ActionResult Index()
{

    return View(_repository.ListAll().OrderByDescending(s => s.StudentName));
}

public ActionResult RemoveStudent(int studentId)
{

    StudentDataContext student = new StudentDataContext();

    var std = student.Students.Single(s => s.StudentID == studentId);
    student.Students.DeleteOnSubmit(std);
    student.SubmitChanges();
    return Content("Student" + studentId + " Removed");
}

Заранее спасибо

1 Ответ

3 голосов
/ 14 февраля 2012

Для начала нужно добавить изображение

    <table>
      <% foreach (Student in (IEnumerable)ViewData.Model)

      { %>
     <tr>
        <td>
            <%= Html.ActionLink("RemoveStudent",                // Action
                                "Students",                     // Controller
                                new { id = Student.studentId }, // Route Args
                                new { @class="deleteButton" }   // HTML Args
            ) %>
        </td>
        <td>
           <%= s.StudentID %> 
        </td>
    </tr>
      <% } %>
</table>

и немного CSS

a.deleteButton
{
    background: url(../Images/delete.gif) no-repeat top left;
     display: block;
     width: 50px;
     height: 50px;
     text-indent: -9999px; /* hides the link text */
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...