Как я могу отправить объект (byteArray) в AJAX PageMethod через Javascript? - PullRequest
0 голосов
/ 01 июля 2010

Мне нужно отправить байтовый массив из javascript в метод страницы c #. Переменные int и string работают нормально, но когда я выполняю код c #, «объект», который был байтовым массивом, является нулевым, хотя я проверил, имеет ли оно значение в JS.

     var byteArrayObj = GetBinaryDataFromFile(filePath);

     var tranAttachmentName = filePath.replace(/^.*\\/, '');
     PageMethods.AddFileToTran(tranId, tranAttachmentName, byteArrayObj, RefreshPage, onTimeout, onError);


     function GetBinaryDataFromFile(strFileName)
     {
         var streamObj = new ActiveXObject("ADODB.Stream");
         streamObj.Type = 1;
         streamObj.Open();
         streamObj.LoadFromFile(strFileName);
         var ByteArray = streamObj.Read();
         streamObj.Close();


         return(ByteArray);
     }  

c # код:

    [System.Web.Services.WebMethod]
    public bool AddFileToTran(int tranId, string tranAttachmentName, object byteArrayObj)
    {
        DBConnector dbConnectorObj = new DBConnector("cnnDataTracking");
        try
        { ........

Объект byteArrayObj имеет значение null.

1 Ответ

0 голосов
/ 02 июля 2010

Оказывается, использование обратной передачи было способом пойти на это. Это не должно быть асинхронным в любом случае. Спасибо за комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...