0

ビュー内のボタンに関連付けられたファイル名とGUIDを渡して、ボタンをクリックしたときにWebAPIコントローラーのメソッドを呼び出したい。

これがコードです。

<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);

上記のコードでは、パラメーターとしてFileDownload渡し FileNameてActionを呼び出していました。GUIDここで、メソッドを呼び出して、パラメータとして「 」と「 」samplecontrollerを渡します。FilenameGuid

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

downLoadビューのボタンをクリックしてメソッド""を呼び出すにはどうすればよいですか?

4

1 に答える 1

0

ApiController では、おそらく javascript を使用してメソッド async を呼び出す必要があります。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 に答える