ASP.net Webservice将布尔值返回给Page

时间:2014-04-15 16:00:42

标签: c# asp.net web-services

这是我的问题。我有一个存储过程,返回一个输出。我试图通过Web服务查看布尔值。存储过程完全有效,但我似乎无法弄清楚如何显示所需的值(这是一个布尔值)。

商店程序:

@CE_IN VARCHAR(2)
@return_OUT BIT OUTPUT
IF EXISTS(SELECT Ce FROM Table A WHERE @CE_IN = Ce)
BEGIN IF EXISTS(SELECT * FROM Table A)
set @return_OUT = 1
ELSE 
set @return_OUT = 1
END
ELSE set @return_OUT = 0

以下库类是我用来调用存储过程的。

public Boolean ValidC(String VC) 
    {
            DbCommand dbCommand = db.GetStoredProcCommand(spName);

            db.AddInParameter(dbCommand, "CE_IN", DbType.String, VC);
            db.AddOutParameter(dbCommand, "return_OUT", DbType.Boolean, 1);
            db.ExecuteNonQuery(dbCommand);

            return (Boolean)dbCommand.Parameters["@return_OUT"].Value;
    }

执行后,该过程返回布尔值。 (理论上)

最后一个难题是网络服务电话。

[WebMethod]
public bool Validation(string VC)
     {
         ValidC c = new ValidC(VC);
         if(c. == true)
             return true;

         else
             return false;

     } 

1 个答案:

答案 0 :(得分:1)

最简单的方法是在客户端使用jQuery。

sendData = new Object();
sendData.validateThis = "SomeDataToValidateGoesHere";
    $.ajax({
            url: "urlOfWebMethodOrSomething/ValidateField",
            type: 'POST',
            data: JSON.stringify(sendData),
            contentType: "application/json",
            dataType: 'json',
            success: function (resultObj) {
                      if (resultObj.valid == true) 
                          console.log("Yay I'm valid");
                      else
                          console.log("This sucks!");
                            },
            error: function () {
                      console.log('An error has occured...');
                            }
                        });

在服务器端,你可以使用这样的模型......

public class ValidateResponse
{
    public bool valid { get; set; }
    public String ResponseMsg { get; set; }
}

然后在WebMethod中回复:

    public virtual String ValidateField(String validateThis)
    {
    ValidateResponse valResp = SomeValidationMethod(validateThis);
    return Json(valResp);
    }

希望能让你开始......