2011-05-26 103 views
1

我用Google搜索我的手指光禿禿的就這一個,我知道這裏的代碼不是很接受的,但我真的很感激一些幫助:如果聲明/校驗值?

此複選框必須去檢查的值(布爾)選項按鈕。

根據該值顯示不同的消息,如果True包含郵件中的額外行,但那又是另一個問題。

任何幫助將不勝感激。我真的需要得到這個C#的竅門。

public void field42_Changed(object sender, XmlEventArgs e) 
{ 
    // checking Gsm checkbox([email protected]) 
    if (e.NewValue.Equals("true")) 
    { 
     XPathNavigator xnMyForm = this.CreateNavigator(); 
     XmlNamespaceManager ns = this.NamespaceManager; 
     xnMyForm.SelectSingleNode("/my:myFields/my:txtGSM", ns).SetValue("[email protected]"); 
     //string MobielInternet = xnMyForm.SelectSingleNode("/my:myFields/my:GsmMobileInternet", ns).Value; 
     if MobielInternet e.NewValue.Equals("true") 
      MessageBox.Show("An e-mail for GSM with Mobile internet will be sent"); 
     if (e.NewValue.Equals("false")) 
      MessageBox.Show("An email for the GSM will be sent"); 
     if (e.NewValue.Equals("")) 
      MessageBox.Show (" The Mobile Internet option has to been filled out "); 
    } 
    else if (e.NewValue.Equals("false")) 
    { 
     XPathNavigator xnMyForm = this.CreateNavigator(); 
     XmlNamespaceManager ns = this.NamespaceManager; 
     xnMyForm.SelectSingleNode("/my:myFields/my:txtGSM", ns).SetValue(""); 
    } 
} 
+1

你沒有真正給出這個問題的一個很好的描述 - 你說過你想要它做什麼,並給出了一些代碼......所以出了什麼問題?如果MobielInternet e.NewValue.Equals(「true」)的圓括號不正確,請參見http://tinyurl.com/so-hints – 2011-05-26 09:12:03

+0

。 – 2011-05-26 09:58:35

+0

是的,但我通過節點中的值得到了它的值,如「,//字符串MobielInternet = xnMyForm.SelectSingleNode(」/ my:myFields/my:GsmMobileInternet ns).Value;如果MobielInternet e.NewValue.Equals(「true」) – Euronymus 2011-05-26 10:08:38

回答

0

這將是我對更乾淨的代碼的建議。我希望在這裏我不會錯過這一點,但實際上並沒有比較mobielinternet的價值,而是再次比較EventArgs的值。

試試這個。

XPathNavigator xnMyForm = this.CreateNavigator(); 
XmlNamespaceManager ns = this.NamespaceManager; 
var emailAddress = ""; 
var message = ""; 

if (e.NewValue.Equals("true")) 
{ 
    emailAddress = "[email protected]"; 
    string MobielInternet = xnMyForm.SelectSingleNode("/my:myFields/my:GsmMobileInternet", ns).Value; 

    if (string.IsNullorEmpty(MobielInternet)) 
     message = "The Mobile Internet option has to been filled out"; 

    if (bool.Parse(MobielInternet)) 
     message = "An e-mail for GSM with Mobile internet will be sent"; 
    else 
     message = "An email for the GSM will be sent"; 

    MessageBox.Show(message); 
} 
else if (e.NewValue.Equals("false")) 
{ 
    XPathNavigator xnMyForm = this.CreateNavigator(); 
    XmlNamespaceManager ns = this.NamespaceManager; 
    xnMyForm.SelectSingleNode("/my:myFields/my:txtGSM", ns).SetValue(""); 
} 


xnMyForm.SelectSingleNode("/my:myFields/my:txtGSM", ns).SetValue(emailAddress); 
+0

感謝一百萬...這是一個很大的幫助! – Euronymus 2011-05-30 06:24:15

+0

我的榮幸。 :) – BAKeele 2011-05-31 15:27:17