ajax帖子与C#无法正常工作

时间:2013-05-29 09:11:07

标签: c# javascript ajax jquery

我必须从java脚本调用一个C#函数。因为我使用ajax post请求调用C#函数。但是我的C#函数实际上并没有从ajax脚本调用。我不知道不调用C#的原因是什么功能

这是我的Ajax代码:

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
      <script type="text/javascript">

      $(function () {
          $("#btnSend").click(function () {
              var image = document.getElementById("myCanvas").toDataURL("image/png");
              image = image.replace('data:image/png;base64,', '');

              $.ajax({
                  type: 'POST',
                  url: 'Default.aspx/UploadImage',
                  data: '{ "imageData" : "' + image + '" }',
                  contentType: 'application/json; charset=utf-8',
                  dataType: 'json',
                  success: function (msg) {
                      alert('Image sent!');                      
                  }
              });
          });
      });
    </script>

这是我的C#功能:

namespace sample
{
    [ScriptService]
    public partial class _Default : System.Web.UI.Page
    {
        [WebMethod()]
        public static void UploadImage(string imageData)
        {

            FileStream fs = new FileStream("D:\\vs-2010projects\\delete_sample\\delete_sample\\myimages\\image.png", FileMode.Create);
            BinaryWriter bw = new BinaryWriter(fs);

            byte[] data = Convert.FromBase64String(imageData);

            bw.Write(data);
            bw.Close();
        }
     }
  }

1 个答案:

答案 0 :(得分:1)

错误是[ArgumentException:未知的Web方法UploadImage。参数名称:methodName]。

&lt;%@ Page Language =&#34; C#&#34;继承=&#34; _Default&#34;的CodeFile =&#34; Default.aspx.cs&#34; %GT;应该位于.aspx页面的顶部,因为编译器在没有它的情况下不知道你的代码。