2013-09-14 2 views
0

Вот мой код.i не может получить доступ к значению constuctor в функции.Как получить доступ к переменным конструктора в методах с тем же классом в C#

public partial class ForgotPassword : UserControl 
    { 
     private string mobile_num2 = ""; 
     public ForgotPassword(string _mobile_num) 
     { 

      mobile_num2 =_mobile_num; 
      MessageBox.Show(mobile_num2);//Getting Value here 
      InitializeComponent(); 

     } 

     private void btn_submit_Click(object sender, RoutedEventArgs e) 
     { 
      string val_conf_pwd; 
      string conf_pwd = txt_new_conf_pwd.Password; 
      val_conf_pwd = c.validate_conf_Password(pwd, conf_pwd); 

      if (val_conf_pwd == "success") 
      { 
       MessageBox.Show(mobile_num2);//Getting Null Value Here 
      } 
     } 
    } 

ответ

0

Если это ваш фактический код (и это не только, что вы на самом деле объявлены еще один локальной переменный внутри вашего конструктора вместо присвоения значения в поле), то я подозреваю, что проблема заключается в том, что экземпляр, btn_submit_Click вызывается не является тем же, что и тот, который вы создаете с ненулевым значением.

Итак, вам нужно посмотреть, где вы строите любые экземпляры ForgotPassword - вы не сможете просто построить новый экземпляр и надеяться, что он будет иметь то же значение mobile_num2, что и существующий экземпляр, если вы явно не используете передать правильное значение конструктору.

(Кстати, я бы посоветовал вам использовать более традиционные имена методов и переменных -. Просто camelCase без подчеркиваний Но очевидно, что это не часть того, что происходит не так

+0

Джон смотреть на 'RoutedEventArgs' я надеюсь. это должно быть у меня wpf 'ASP.NET' не имеет' RoutedEventArgs'. Возможно, я ошибаюсь –

+0

@SriramSakthivel: Ах, пропустил это - спасибо, отредактирует. –

Смежные вопросы