2016-01-26 47 views
0

我想查詢字段中鍵入「的UITextField」如果他們空。但是,當我在我的按鈕cliсk我的應用程序轉到另一個視圖控制器如果域爲null或空。檢查領域和使用上的按鈕點擊賽格瑞的iOS Xamarin(C#)

我的代碼:

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文件設計: enter image description here

我覺得我的問題SEGUE,如果我是對如何在代碼中使用SEGUE? 我如何解決我的問題?

回答

2

在設計師不畫從按鈕的塞克到下一個控制器,只需繪製控制器之間。 然後你可以像這樣手動觸發它:

yourButton.TouchUpInside += (s, e) => 
{ 
    // do your checks here... 

    // if everything is alright trigger your seque 
    PerformSegue("YourSegue", this); 
};