我必须从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();
}
}
}
最佳答案
错误是[ArgumentException:未知的Web方法UploadImage。参数名称:[方法名]。
<%@ Page Language="C#"Inherits="_Default"CodeFile="Default.aspx.cs"%> 应该位于 .aspx 页面的顶部,因为编译器无法识别您的代码。它。
关于c# - ajax post 无法在 C# 中正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809854/