0

我想通过传递与视图中的按钮关联的文件名和 GUID,在单击按钮时调用 Web API 控制器中的方法。

这是代码。

<div style="float: left; width: 75%; margin-left: 10px;">

@(Html.Telerik().Grid((IEnumerable<FileModel>)ViewData["DocumentList"]).Name("DocumentList").Template(@text @Html.ActionLink("FileDownload", "FileDownload", new { file = item.FileName, GuID = item.DocumentGuID }) /text).Width(10);

在上面的代码中,我通过传递和作为参数调用FileDownloadAction 。现在我想调用一个方法并将“ ”和“ ”作为参数传递。FileNameGUIDsamplecontrollerFilenameGuid

public samplecontroller:webapicontroller
{
    public downLoad(int,guid)
}

如何downLoad在单击视图中的按钮时调用方法“”?

4

1 回答 1

0

使用 ApiController 很可能您需要使用 javascript 来调用异步方法。Jquery 将提供如下帮助:

Jquery script inside the view, in document on load function:
    $('#buttonid').bind('click', function(){
            var filename = $('#file').attr('name');
        var guid = $('#file').attr('guid');
        $.getJSON("api/samplecontroller/download?file=" + filename +"&guid=" +guid,
            function (data) {
                // On success

            });

    });

Controller action:  
    public samplecontroller:Apicontroller
    {
        public Download([fromuri]string fileName, [fromuri]string guid)
        {

        }
    }

不过,关于如何传递文件名和 guid 以及使用 UriTemplate 格式化 Uri 请求,还有其他选项。

于 2012-06-02T11:31:40.650 回答