在按钮的单击事件上绑定表

时间:2013-08-01 08:49:10

标签: asp.net-mvc razor

我正在使用ASP.NET MVC 3 Razor。我在控制器中有一个列表方法,所以想要在按钮的单击事件上将此列表绑定到表。我将如何实现此功能。 这是我的控制器方法:

  public ActionResult getItnList(string scanCode)
        {
           List<List<String>> getitnDetails_List = getitnDetails(date, name);
           ViewBag.getitnDetails = getitnDetails_List;
           return Json(new { getitnDetails_List = getitnDetails_List }, JsonRequestBehavior. AllowGet);
        }

这是我的观看代码:

 @{
    List<List<String>> str = (List<List<String>>)ViewBag.getitnDetails;
  }
<table id="list" width="100%">
  <td><b>Harvest Date</b></td>
  <td><b>Product</b></td>
@for (int i = 0; i <= str.Count - 1; i++)
  <td>@str[i][0].ToString()</td>
  <td>@str[i][1].ToString()</td>
</table>

如何将此表绑定到按钮的点击事件列表?

2 个答案:

答案 0 :(得分:0)

我不确定你在问什么。但是如果你想点击按钮获取列表,你可以使用jQuery .getJSON(http://api.jquery.com/jQuery.getJSON/)来检索列表数据,然后用javascript插入它。或者您可以在操作中呈现列表,只需使用json .get并插入结果。

答案 1 :(得分:0)

试试这个

查看

<table>
        <tr>
            <th>
                Name
            </th>
            <th>
                PhoneNo
            </th>
            <th>
                Address
            </th>
            <th>
                Action
            </th>
        </tr>
        @{var list = ViewBag.RegisterItems; }
        @if (list != null)
        {
            foreach (var m in list)
            {
            <tr>
            <td>
                        <input id="txtName-@m.ID.ToString()" type="text" class="hide" value="@m.Name.ToString()"/>
               </td>
               <td>
                        <input id="txtPhoneNo-@m.ID.ToString()" type="text" class="hide" value="@m.PhoneNo.ToString()"/>
               </td>
               <td>
                        <input id="txtAddress-@m.ID.ToString()" type="text" class="hide" value="@m.Address.ToString()"/>
                    </td>

            </tr>

            }
        }
    </table>

<强>控制器

 public ActionResult CustomerInfo()
    {
        ViewBag.RegisterItems = GetAllRegisterData();
        return View();
    }