ASP.net Web服务向Page返回布尔值
本文关键字:Page 返回 布尔值 服务 net Web ASP | 更新日期: 2023-09-27 17:58:22
这是我的问题。我有一个存储过程,它返回一个有点小的输出。我正在尝试通过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;
}
一旦执行,该过程将返回布尔值。(理论上)
最后一块拼图是web服务调用。
[WebMethod]
public bool Validation(string VC)
{
ValidC c = new ValidC(VC);
if(c. == true)
return true;
else
return false;
}
最简单的方法是在客户端使用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);
}
希望这能让你开始。。。