检查字段并使用segue on按钮单击Xamarin iOS(C#)
我想检查字段类型“UITextField”是否为Null或空。但当我按下按钮时,如果字段为Null或为空,我的应用程序将转到另一个ViewController 我的代码:检查字段并使用segue on按钮单击Xamarin iOS(C#),c#,ios,xamarin,xamarin.ios,C#,Ios,Xamarin,Xamarin.ios,我想检查字段类型“UITextField”是否为Null或空。但当我按下按钮时,如果字段为Null或为空,我的应用程序将转到另一个ViewController 我的代码: partial class OformlenieViewController : UIViewController { public string house; public string kvart; public string street; public string FIO;
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 ("---------------------Заказ отправлен на ФО-------------------------");
}
}
};
}
}
Main.storyboard文件中的屏幕截图我的设计:
我想我的问题是segue,如果我是对的,如何在代码中使用segue?
如何解决我的问题?在designer中,不要从按钮到下一个控制器绘制序列,只需在控制器之间绘制序列即可。 然后您可以手动触发它,如下所示:
yourButton.TouchUpInside += (s, e) =>
{
// do your checks here...
// if everything is alright trigger your seque
PerformSegue("YourSegue", this);
};
在designer中,不要将序列从按钮绘制到下一个控制器,只需在控制器之间绘制序列即可。 然后您可以手动触发它,如下所示:
yourButton.TouchUpInside += (s, e) =>
{
// do your checks here...
// if everything is alright trigger your seque
PerformSegue("YourSegue", this);
};