C# 在visual studio中尝试将javascript中的插入值调用到sql server时出现内部服务器错误500
我有一个javascript代码,在c-sharp中调用webmethod,下面给出了javascript代码和web方法 javascript代码:C# 在visual studio中尝试将javascript中的插入值调用到sql server时出现内部服务器错误500,c#,javascript,jquery,ajax,json,C#,Javascript,Jquery,Ajax,Json,我有一个javascript代码,在c-sharp中调用webmethod,下面给出了javascript代码和web方法 javascript代码: var _data = { '_mStart': document.getElementById("St_Period").value, '_mEnd': document.getElementById("En_Period").value };
var _data = {
'_mStart': document.getElementById("St_Period").value,
'_mEnd': document.getElementById("En_Period").value
};
$.ajax({
type: "POST",
url: "maps.aspx/myFunc",
data: _data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert("success!")
}
});
WEB方法:
[WebMethod]
public static void myFunc(DateTime? _mStart, DateTime? _mEnd)
{
try
{
SqlConnection con=new SqlConnection("server=SWAPPS_LAP\\SQLEXPRESS;Initial Catalog=moogle;Integrated Security=True;MultipleActiveresultSets=true");
SqlCommand cmd = new SqlCommand();
con.Open();
cmd = new SqlCommand("insert into MEDIA_BOOKING(ST_PERIOD,END_PERIOD,ENTERED_BY,ENTERED_ON) values(@st,@end,@by,@on)", con);
cmd.Parameters.AddWithValue("@st", _mStart);
cmd.Parameters.AddWithValue("@end", _mEnd);
cmd.Parameters.AddWithValue("@on", DateTime.Now);
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
throw ex;
}
}
但是当我运行代码时,我得到一个错误
POST http://localhost:50060/moogle/maps.aspx/myFunc 500 (Internal Server Error) jquery.js:8102
jQuery.ajaxTransport.send jquery.js:8102
jQuery.extend.ajax jquery.js:7580
savebook maps.aspx:398
onclick
我有一种预感,可能参数有问题,可能它们的格式不正确?您没有为@by参数提供值。尝试在catch语句中添加断点以查看错误。如果你还没有到达那个阶段,试着发布请求正文,这样人们可以看到请求的内容,并对细节有更多的了解。是的,我的错,我忘了清除那个字段,即使在更正之后,错误仍然存在,请求正文?@sneden27你能包括发送到服务器的信息吗?您能从调试中获得任何异常信息吗?日期值的格式是什么?我使用上面提到的sql连接与服务器交互,还有还有提到的cmdinsert cmd…我试过调试有趣的是,现在代码甚至在触发click事件后也没有到达myFunc…日期格式是dd/mm/yyyy,我输入的是正确的…您的服务器上的语言环境是否与您的开发机器不同?例如,在无法正确识别dd/mm/yyyy格式的服务器上安装我们。