如何在MVC中将值从kendo网格传递到kendo窗口

时间:2016-06-26 02:37:31

标签: asp.net-mvc asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc

如何将所选行的PreEmploymentId从网格传递到网格的按钮单击事件窗口。这可能很简单,但我是新手,仍在学习基础知识。

脚本 -

<script>
    $("[data-button-type='auction']")
                .click(function(e) {
                    myWindow.data("kendoWindow").open();
                    myWindow.data("kendoWindow").center();
                    myWindow.data("kendoWindow").top();
                });
</script>

Kendo Grid -

<div >
@*Telerik grid*@
@{
    Html.Kendo().Grid(Model.LstPreEmploymentWorkflowModellist)
        .Name("MyGrid")
        .Columns(col =>
        {
            //on edir button click action name Main in invoked in PreEmploymentWorkflow controller and PreEmploymentId is passed
            col.Template(@<text>
                             @Html.ActionLink("Edit", "Main", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId}, new {@class = "classname"})</text>).Width(30);
            col.Bound(o => o.PreEmploymentId).Visible(false).Groupable(false);
            col.Bound(o => o.FirstName).Width(30).Groupable(false);
            col.Template(@<text>
                             @Html.ActionLink("OpenFile", "Openfile", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId, uploadfilename = "EEOC Tracking Form"}, new {@class = "classname3"})</text>).Title("EEOC").Width(30);
            col.Template(@<text>@(Html.Kendo().Button()
                                      .Name("open" + @item.PreEmploymentId)
                                      .ImageUrl(Url.Content("/images/auction_16.gif")).HtmlAttributes(new {type = "submit", data_button_type = "auction" })
                                      )
                          </text>).Width(40).Title("Status");
            col.Template(@<text>
                             @Html.ActionLink("Delete", "Delete", "PreEmploymentWorkflow", new {Id = item.PreEmploymentId}, new {@class = "classname2"})</text>).Width(30);
        })
        //.HtmlAttributes(new { style = "width: 1100px" })
        .Sortable()
        .Render();
}

剑道窗口 -

 @{Html.Kendo().Window()
      .Name("window")
      .Width(500)
      .Height(315)
      .Animation(true)
      .Draggable()
      .Visible(false)
      .Modal(true)
      .Title("Employment Status")
      .Actions(actions => actions.Close())
      .Content(@<text>
                   @using (Html.BeginForm("CreateStatus", "PreEmploymentWorkflow", FormMethod.Post, new { enctype = "multipart/form-data" }))
                   {
                       <table>
                           <tr>
                           <td>
                                   @(Html.Kendo().TextBoxFor(m => m.LstPreEmploymentWorkflowModel.PreEmploymentId))
                               </td>
                               <td>
                                   @(Html.Kendo().RadioButtonFor(m => m.LstPreEmploymentWorkflowModel.Status).Value(1).Label("Approved"))
                               </td>
                               <td>
                                   @(Html.Kendo().RadioButtonFor(m => m.LstPreEmploymentWorkflowModel.Status).Value(9).Label("Reject"))
                               </td>
                           </tr>
                           <tr>
                               <td>
                                   <label class="Bold" for="statusattachment">Status Attachment:</label>
                               </td>
                               <td><input type="file" name="uploadfilestatus"/></td>
                           </tr>
                           <tr>
                               <td>
                                   <input id="Button1" type="submit" value="Submit"/>
                               </td>
                           </tr>
                       </table>
                   }
                </text>)
      .Render();
}

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果有人正在搜索,那该怎么做

.\AzCopy.exe /Source:https://sourceaccount.blob.core.windows.net/container /Dest:https://destaccount.blob.core.windows.net/container /SourceKey:sourceKey== /DestKey:destKey== /S /Pattern:CorruptZips/2013/6

在剑道网格中,

<script>

function editItem(e) {
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    var pId = dataItem.PreEmploymentId;


       var myWin = $("#windowstatus").kendoWindow({

        modal: true,
        width: "450px",
        height: "250px",
        resizable: true,
        position: {
            top: 400,
            left: 650
        },
        title: "PreEmployment Status",
        content: {
            url: "../StatusWindow", //controller name
            data: { customerId: pId } //passing data
        }

    });
    myWin.data("kendoWindow").open();
    return false;
}
</script>

<script type="text/x-kendo-template" id="template">
    <div id="details-container">

    </div>
</script>

在StatusWindowController中,

    col.Bound(o => o.PreEmploymentId).Visible(false).Groupable(false);
    col.Command(command => command.Custom("Change Status").Click("editItem")).Width("120px");

答案 1 :(得分:0)

此演示正好显示了这一点:

http://demos.telerik.com/aspnet-mvc/grid/custom-command