这是我的问题。我有一个存储过程,返回一个输出。我试图通过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;
}
答案 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);
}
希望能让你开始......