我在.asmx
Web服务中有一个web方法,我通过jQuery ajax调用这个方法来更新数据库记录;它在调试期间完全在我的本地机器上工作,问题是当我将它发布到服务器时,它不再有效。令人惊讶的是,不同页面中的其他更新工作正常,请告诉我我哪里弄错了。
以下是我的代码
jQuery ajax函数
function Updateaction() {
$('#updateinit').click(function () {
$('#iniativemodal').modal('show');
debugger
var Id= $('#ikipitxt').val();
var name= $('#namtxt').val();
var initd = $('#initdate').val();
var des= $('#descrtxt').val();
var budget= $('#budgettxt').val();
var dur= $('#durationtxt').val();
var inter= $('#intervalstarttxt').val();
var ends =$('#intervalendtxt').val();
var pers= $('#persontxt').val();
var kpi=$('#ikpitxt').val();
$.ajax({
url:"/MyService.asmx/editActionplan?Id=" + $('#ikipitxt').val() + "&name=" + $('#namtxt').val() + "&initdate=" + $('#initdate').val() + "&Description=" + $('#descrtxt').val() + "&budget=" + $('#budgettxt').val() + "&duration=" + $('#durationtxt').val() + "&intervalstart=" + $('#intervalstarttxt').val() + " &intervalend=" + $('#intervalendtxt').val() + "&responseperson=" + $('#persontxt').val() + "&kpi=" + $('#ikipitxt').val() + "",
data: '{Id: ' + Id + ', name: "' + name + '",initdate: "' + initd + '",Description:"' + des + '", budget: "' + budget + '",duration: "' + dur + '",intervalstart: "' + inter + '",intervalend: "' + ends + '",responseperson: "' + pers + '",kpi: "' + kpi + '"}',
type: "POST",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (result) {
$('#iniativemodal').modal('hide');
$('#ikipitxt').val("");
$('#namtxt').val("");
$('#initdate').val("");
$('#descrtxt').val("");
$('#budgettxt').val("");
$('#durationtxt').val("");
$('#intervalstarttxt').val("");
$('#intervalendtxt').val("");
$('#persontxt').val("");
$('#ikpitxt').val("");
displayAction();
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
});
}
Web服务中的Web方法
[WebMethod]
public void editActionplan(int Id, string name,string initdate, string Description, string budget, string duration,string intervalstart,string intervalend,string responseperson,int kpi)
{
string constring = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constring))
{
//this what you looking for
using (SqlCommand cmd = new SqlCommand(" UPDATE Iniative SET name=@name,initdate=@initdate,Description=@Description,budget=@budget,duration=@duration,intervalstart=@intervalstart,intervalend=@intervalend,responseperson=@responseperson,kpi=@kpi WHERE Id=@Id", conn))
{
try
{
conn.Open();
cmd.Parameters.AddWithValue("@Id", Id);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@initdate", initdate);
cmd.Parameters.AddWithValue("@Description", Description);
cmd.Parameters.AddWithValue("@budget", budget);
cmd.Parameters.AddWithValue("@duration", duration);
cmd.Parameters.AddWithValue("@intervalstart", intervalstart);
cmd.Parameters.AddWithValue("@intervalend", intervalend);
cmd.Parameters.AddWithValue("@responseperson", responseperson);
cmd.Parameters.AddWithValue("@kpi", kpi);
cmd.ExecuteNonQuery();
}
catch (Exception)
{
}
finally
{
conn.Close();
}
}
}
}
在您的global.asax.cs文件中添加以下代码
protected void Application_BeginRequest(object sender, EventArgs e)
{
CultureInfo newCulture = (CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
newCulture.DateTimeFormat.LongTimePattern= "HH:mm:ss"; //your time format
newCulture.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"; // your date format
newCulture.DateTimeFormat.DateSeparator = "-";
Thread.CurrentThread.CurrentCulture = newCulture;
}