C# web api控制器调用问题

C# web api控制器调用问题,c#,asp.net,asp.net-web-api2,C#,Asp.net,Asp.net Web Api2,大家好,当用户单击登录时,我已经编写了以下代码 function login() { var Emp = {}; var username = $("#username").val(); var password = $("#password").val(); Emp.userID = username; Emp.ppassword = password; $.ajax({ t

大家好,当用户单击登录时,我已经编写了以下代码

function login() {
        var Emp = {};
        var username = $("#username").val();
        var password = $("#password").val();
        Emp.userID = username;
        Emp.ppassword = password;
        $.ajax({
            type: "GET",
            url:"<%=Page.ResolveUrl("/api/Login/")%>",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify(Emp),
            dataType: "json",
            success: function (response) {
                alert('Inserted');
            },
            error: function (x, e) {
                alert(x.responseText);
            }
        });
    }
控制器代码

public class LoginController : ApiController
{
    string strcon = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
    SqlConnection con = null;
    SqlCommand cmd = null;

    private bool CheckLogin(string userID, string password)
    {
        bool bFlag = false;
        con = new SqlConnection(strcon);
        con.Open();
        cmd = new SqlCommand("uspGetUserDetails", con);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter parm = new SqlParameter("@return", SqlDbType.Int);
        parm.Direction = ParameterDirection.ReturnValue;

        cmd.Parameters.Add(parm);
        cmd.Parameters.Add(new SqlParameter("@UserName", userID));
        cmd.Parameters.Add(new SqlParameter("@password", password));

        cmd.ExecuteNonQuery();
        con.Close();

        int id = Convert.ToInt32(parm.Value);
        return bFlag;
    }
}

但是,单击“登录”时,我收到一个错误,因为没有找到与请求匹配的HTTP资源,因此有人可以帮助我哪里出错了

您发送的数据应该与操作方法参数名称匹配。因此,如果不是输入错误,请在开头使用单个'p'
Emp.ppassword=password
重命名为->
Emp.password=password

此外,如果您希望您的操作方法对internet可见,请将其公开

public bool CheckLogin(string userID, string password)
{
    // ...
}

控制器的单参数方法在哪里?在“DefaultApi”配置中,您只定义了一个可选参数。如果
CheckLogin
是您的
GET
action/endpoint(正如您的ajax调用所建议的那样),则可以调用它
GetCheckLogin
或使用
[HttpGet]
属性对其进行修饰。另外,确保它是公开的,而不是私人的。
public bool CheckLogin(string userID, string password)
{
    // ...
}