如何在MVC中保持点击事件动态创建的按钮

时间:2019-05-29 07:47:01

标签: c# model-view-controller

当我单击一个按钮时,我已经从数据库中检索了这些按钮的名称    按钮,我需要显示一些报告。现在我已完成所有工作。    需要知道如何为这些按钮保留唯一ID以及它们如何工作    当我单击按钮时,我需要在单独的页面中显示报告...

  [HttpGet]
        public ActionResult Estate()
        {

            return View("Estate", new EstateFunc().Estates());

        }

        [HttpPost]
        public ActionResult Estate(int id=0)
        {
            if(id>0)
            {

            }
            return View();

         }

1 个答案:

答案 0 :(得分:0)

使用MVC

查看:

@foreach (var item in Model)
{
    <tr>
        <td>@item.Something...</td>
        <td>@item.AnotherThing</td>
        <td>
<a href="@Url.Action("MyAction", "MyController", new { Id = item.Id })" class="btn"></a></td>
    </tr>
}

此Razor代码生成的按钮数量与模型中收藏项的数量一样多。集合中的每个项目都应具有唯一的ID,如您所见,我们将此ID作为参数。因此,当用户单击任何按钮时,唯一ID会告诉我们单击了哪个按钮(以及我们应参考的项目)

控制器:

public ActionResult MyAction(int id = 0)
        {
            var model = ReportViewModel(id);

            return ReportView(model);
        }

private ReportViewModel(int id)
{
   // Get Report from Database Where Id = id
   // Populate ViewModel from the database data
   // Return reportViewModel;
}

编辑(根据您的代码添加示例)

   @foreach (var item in Model)
   {
    <div class="floated">

    <a href="@Url.Action("MyAction", "MyController", new { Id = item.Id })" 
       class="Estates_button">@item.EstateName</a>

    </div>
    }