检查字段并使用segue on按钮单击Xamarin iOS(C#)

检查字段并使用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;

我想检查字段类型“UITextField”是否为Null或空。但当我按下按钮时,如果字段为Null或为空,我的应用程序将转到另一个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 ("---------------------Заказ отправлен на ФО-------------------------");
            }

        }

    };

}

}
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);
};