[英]Check fields and use segue on button click Xamarin iOS (C#)
我想檢查字段是否為空或為空,請鍵入“ UITextField”。 但是當我單擊按鈕時,如果字段為Null或Empty,則我的應用程序將轉到另一個ViewController。
我的代碼:
partial class OformlenieViewController : UIViewController
{
public string house;
public string kvart;
public string street;
public string FIO;
public string code;
public string telephone;
public string comment;
public OformlenieViewController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
ScrollView.ContentSize = new SizeF (320, 883);
ScrollView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;
ScrollView.ScrollEnabled = true;
View.AddSubview (ScrollView);
ulitsa.ShouldReturn = delegate {
ulitsa.ResignFirstResponder ();
return true;
};
kvartira.ShouldReturn = delegate {
kvartira.ResignFirstResponder ();
return true;
};
dom.ShouldReturn = delegate {
dom.ResignFirstResponder ();
return true;
};
fio.ShouldReturn = delegate {
fio.ResignFirstResponder ();
return true;
};
kod.ShouldReturn = delegate {
kod.ResignFirstResponder ();
return true;
};
tel.ShouldReturn = delegate {
tel.ResignFirstResponder ();
return true;
};
coment.ShouldReturn = delegate {
coment.ResignFirstResponder ();
return true;
};
send_zakaz.TouchUpInside += delegate {
if (string.IsNullOrEmpty (ulitsa.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Улица' ", showToastCentered: false, timeoutMs: 1000);
}
if (string.IsNullOrEmpty (dom.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Дом' ", showToastCentered: false, timeoutMs: 1000);
}
if (string.IsNullOrEmpty (kvartira.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Квартира' ", showToastCentered: false, timeoutMs: 1000);
}
if (string.IsNullOrEmpty (fio.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Ф.И.О' ", showToastCentered: false, timeoutMs: 1000);
}
if (string.IsNullOrEmpty (kod.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Код' ", showToastCentered: false, timeoutMs: 1000);
}
if (string.IsNullOrEmpty (tel.Text)) {
BTProgressHUD.ShowToast ("Заполните поле 'Телефон' ", showToastCentered: false, timeoutMs: 1000);
}
else {
using (var client = new WebClient ()) {
street = ulitsa.Text;
kvart = kvartira.Text;
house = dom.Text;
FIO = fio.Text;
code = kod.Text;
telephone = tel.Text;
comment = coment.Text;
var doc = new XmlDocument ();
var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var filePath = Path.Combine (documents, "myFile.xml");//Path.Combine(documentsPath, "myFile.xml");
doc.Load (filePath);
var values = new NameValueCollection ();
//values["Customer"].Replace("{FIO}", FIO);
values ["Order"] = doc.OuterXml;
values ["Order"] = values ["Order"].Replace ("{StreetName}", street.ToString ());
values ["Order"] = values ["Order"].Replace ("{FlatName}", kvart);
values ["Order"] = values ["Order"].Replace ("{HouseName}", house);
values ["Order"] = values ["Order"].Replace ("{FIO}", FIO);
values ["Order"] = values ["Order"].Replace ("{Code}", code);
values ["Order"] = values ["Order"].Replace ("{Phone}", telephone);
values ["Order"] = values ["Order"].Replace ("..", comment);
Console.WriteLine ("Proverka " + street + " " + FIO);
Console.WriteLine (doc.OuterXml);
values ["OrderText"] = "hello";
doc.Save (filePath);
Console.WriteLine (doc.OuterXml);
var response = client.UploadValues ("http://91.246.122.43:1998/fas.asmx/AddOrder", values);
Console.WriteLine ("---------------------Заказ отправлен на ФО-------------------------");
}
}
};
}
}
我認為我的問題是segue,如果我正確在代碼中如何使用segue? 我該如何解決我的問題?
在設計器中,不要從按鈕到下一個控制器繪制順序,只需在控制器之間繪制即可。 然后,您可以像這樣手動觸發它:
yourButton.TouchUpInside += (s, e) =>
{
// do your checks here...
// if everything is alright trigger your seque
PerformSegue("YourSegue", this);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.