这是我背后的代码:
这是我的KO脚本:
这是我点击提交按钮时的结果
我的代码有什么问题吗?
答案 0 :(得分:1)
我已下载您的解决方案并使其正常运行
在App_Start\RouteConfig.cs
中,您需要删除以下行:
settings.AutoRedirectMode = RedirectMode.Permanent;
您的网络方法也需要static
答案 1 :(得分:1)
App_Start\RouteConfig.cs
改变
settings.AutoRedirectMode = RedirectMode.Permanent;
到
settings.AutoRedirectMode = RedirectMode.Off;
如果Web方法在代码后面不是静态的,它将无法工作 如果您真的想继续使用代码,可以通过创建静态方法来实现 例如:
public class Customer
{
public string CustomerId { get; set; }
public string ContactName { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string PostalCode { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
}
[WebMethod]
public static List<Customer> GetCustomers()
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT TOP 10 * FROM Customers"))
{
cmd.Connection = con;
List<Customer> customers = new List<Customer>();
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
customers.Add(new Customer
{
CustomerId = sdr["CustomerId"].ToString(),
ContactName = sdr["ContactName"].ToString(),
City = sdr["City"].ToString(),
Country = sdr["Country"].ToString(),
PostalCode = sdr["PostalCode"].ToString(),
Phone = sdr["Phone"].ToString(),
Fax = sdr["Fax"].ToString(),
});
}
}
con.Close();
return customers;
}
}
}
}
更简单的替代方法是使用实例方法创建Web服务(.ASMX)。