从多个创建的按钮传递按钮信息

时间:2014-02-17 14:55:10

标签: c# javascript razor

我有一个网站,我想用帖子传递信息。我遇到的问题是我有一个网格,根据数据库动态填充数据,然后为每个条目创建按钮。我希望每个按钮都有单独的功能,例如删除数据库条目,插入或只是完整应用程序的普通视图。

这是我到目前为止所做的:

    @grid.GetHtml(    
        tableStyle : "grid",
        alternatingRowStyle : "alt",
        headerStyle : "header",
        columns: grid.Columns(
                 grid.Column("AppId", "Action", format: @<text>
                            <button class="view-app display-mode" id="@item.AppId">View</button>
                            <button class="approve-app display-mode" id="@item.AppId">Approve</button>
                            <button class="deny-app display-mode" id="@item.AppId">Deny</button>
                            <button class="delete-app display-mode" id="@item.AppId">Delete</button>
                        </text>),
                 grid.Column("Name", "Name"), 
                 grid.Column("Class", "Class"), 
                 grid.Column("AppDate", "AppDate")
    )
   )

我知道按下按钮的id会占用javascript,所以我也有这个脚本,但无法想象如何从客户端将其传回服务器:

$(function () {
    $('.view-app').on('click', function () {
        var tr = $(this).parent('tr.first');
        var appId = $(this).prop("id");

    });
    $('.approve-app').on('click', function () {
        var tr = $(this).parents('tr:first');
        var appId = $(this).prop('id');

    });
    $('.deny-app').on('click', function () {
        var tr = $(this).parent('tr.first');
        var appId = $(this).prop("id");

    });
    $('.delete-app').on('click', function () {
        var tr = $(this).parents('tr:first');
        var appId = $(this).prop('id');

    });

})

我是不是错了?有没有什么方法可以实现我没有想到的?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

为每个按钮指定一个唯一的名称,并将值设置为(insert | update | delete)。这会将按钮的值发布到服务器端,并将其名称作为密钥。

...即

<button class="view-app display-mode" id="@item.AppId" name="action_@item.AppId" value="view">View</button>

<button class="view-app display-mode" id="@item.AppId" name="view" value="@item.AppId">View</button>