C# отображать текст на основе возвращенного результата и API
У меня есть запрос ping для и API, и если он успешен, он возвращает и "хорошо", а если нет, он возвращает ошибку. Мне нужна помощь в изменении кода для результата пинга, чтобы отобразить какой-то другой текст, такой как "ваш пинг прошел успешно", и если была ошибка, и для отображения "ваш пинг не удалось", я новичок в программировании.
public partial class API_Menu_Ping : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
string myCADeveloperKey = ConfigurationManager.AppSettings["CADeveloperKey"];
string myCAPassword = ConfigurationManager.AppSettings["CAPassword"];
//Create credentials
ca.api.APICredentials cred = new ca.api.APICredentials();
cred.DeveloperKey = myCADeveloperKey;
cred.Password = myCAPassword;
//Create the Web Service and attach the credentials
ca.api.AdminService svc = new ca.api.AdminService();
svc.APICredentialsValue = cred;
//call the method
ca.api.APIResultOfString result = svc.Ping() ;
PingResult.Text = result.ResultData ;
}
protected void PingCaApi_Click(object sender, EventArgs e)
{
}
}
2 ответа
Вы просто хотите манипулировать текстом для пользователя. Вам просто нужно if
заявление:
if(result.ResultData == "ok") //or whatever a 'yes' result is
PingResult.Text = "Your ping was successful";
else
PingResult.Text = "Your ping failed";
или вы можете сократить его с помощью троичного оператора:
PingResult.Text = (result.ResultData == "ok") ? "Your ping was successful" : "Your ping failed";
Мне не очень нравится помещать код, который может врезаться в Page_Load
обработчик. Если есть какая-либо ошибка, вы можете ее никогда не увидеть.
Кроме того, с вашими длинными определениями, это отличное место, чтобы ознакомиться с var
ключевое слово.
Используя это, я написал бы вашу рутину следующим образом:
public partial class API_Menu_Ping : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void PingCaApi_Click(object sender, EventArgs e)
{
PingResult.Text = null;
//Create credentials
var cred = new ca.api.APICredentials();
cred.DeveloperKey = ConfigurationManager.AppSettings["CADeveloperKey"];
cred.Password = ConfigurationManager.AppSettings["CAPassword"];
//Create the Web Service and attach the credentials
var svc = new ca.api.AdminService();
svc.APICredentialsValue = cred;
//call the method
var result = svc.Ping();
PingResult.Text = (result.ResultData == "ok") ? "your ping was successful" : "your ping failed";
}
}