javascript - 如何在 ASP.NET MVC 中使用 Razor View 从对象列表中获取 Controller 中的单个对象

标签 javascript c# jquery html asp.net-mvc

这是我的 Controller :

namespace OBBMS.Controllers
{
    public class BDMController : Controller
    {
        public ActionResult Index()
        {   
            OBBMS.Models.User objUser = new Models.User();
            objUser.lstUser = DB_Interactions.BDMGetUsers("Pending");
            return View(objUser);
        }

        [HttpPost]
        public ActionResult Index(OBBMS.Models.User objUser)
        {
            return View();
        }
    }
}

这里是查看代码:

@model OBBMS.Models.User
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_LayoutBloodDonationManagement.cshtml";
}
@using (Html.BeginForm("Index", "BDM", FormMethod.Post, new {id = "BDM"}))
{
<table id="mytable" class="table table-bordred table-striped">
<thead>
    <tr>
        @*<th>Post ID</th>*@
        <th>Full Name</th>
        <th>Blood Group</th>
        <th>Email Address</th>
        <th>Contact No</th>
        <th>Address</th>
        <th>Post Title</th>
    </tr>
</thead>
<tbody>
    @foreach(var obj in Model.lstUser)
    {
        <tr>
            <td style="display:none!important;">@obj.PostID</td>
            <td>@obj.FullName</td>
            <td>@obj.BloodGroupName</td>
            <td>@obj.EmailAddress</td>
            <td>@obj.ContactNo</td>
            <td>@obj.Address</td>
            <td>@obj.PostTitle</td>
            <td><input type="submit" value="Approve" class="btn btn-primary btn-xs" data-title="Approved" data-toggle="modal" data-target="#edit" /></td>
        </tr>
    }
</tbody></table>}

我在每行末尾都有一个提交按钮,当单击特定行按钮时,我需要获取 User 对象的单个实例,而不是 HttpPost ActionResult 方法中的完整列表。我只需要单击行按钮即可获取对象。

如果可能: 我不想使用任何 JavaScript/jQuery/Ajax,一切都应该在 APS.NET MVC 框架中完成。

如果不可能: 建议我最好和最简单的方法。

最佳答案

一种可能的解决方案是使用 HTML 5 form attribute 。该属性可用于指示元素属于哪种形式。例如:

  @foreach(var obj in Model.lstUser)
  {
      <tr>
         <td><form id="@("form"+obj.PostID)"><input type="hidden" name="id" value="@obj.PostID" /></form></td>
         <td><input form="@("form"+obj.PostID)" type="text" name="FullName" value="@obj.FullName" /></td>
         <td><input form="@("form"+obj.PostID)" type="text" name="BloodGroupName" value="@obj.BloodGroupName" /></td>
        <-- more td elements here -->
        <td><input form="@("form"+obj.PostID)" type="submit" value="Approve" class="btn btn-primary btn-xs" data-title="Approved" data-toggle="modal" data-target="#edit" /></td>
      </tr>
  }

检查here查看支持的浏览器列表。

关于javascript - 如何在 ASP.NET MVC 中使用 Razor View 从对象列表中获取 Controller 中的单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566487/

相关文章:

javascript - 使用 JavaScript 标记列表中的单词

javascript - 如何使用::在使用 javascript 选择器之前为元素设置高度?

javascript - Jest 测试失败

javascript - 如何使用 Jquery/Ajax 调用将数据显示为表格?

c# - 将 Wyam 嵌入到 asp.net core MVC 解决方案中的正确方法是什么?

javascript - 如何从上传表单中动态删除文件?

javascript - 自定义菜单项不可点击

C# - 合并集合问题

c# - sched_setscheduler 的 P/Invoke 签名

jQuery datepicker 禁用星期日和特定日期数组