0
我正在開發一個PCL應用程序在Xamarin中...我想將一個變量從一個頁面傳遞給另一個...該變量是「usersMovil」,雖然在方法構造函數MenuPage(UsuariosMovil usuariosMovil)映射....當它離開不再可用,並認爲它爲空....我想從LoginPage ----> MenuPage ....通過任何幫助給我?從參數到頁的步驟(Xamarin應用程序)
public LoginPage()
{
InitializeComponent();
enterButton.Clicked += enterButton_Clicked;
}
private async void enterButton_Clicked(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(userEntry.Text))
{
await DisplayAlert("Error", "Debe Ingresar un Usuario", "Aceptar");
userEntry.Focus();
return;
}
if (string.IsNullOrEmpty(passwordEntry.Text))
{
await DisplayAlert("Error", "Debe Ingresar un Usuario", "Aceptar");
userEntry.Focus();
return;
}
waitActivityIndicator.IsRunning = true;
string result;
try
{
enterButton.IsEnabled = false;
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://200.27.70.5/web_sit2/");
string url = string.Format("api/UsuariosMovilsAPI/{0}/{1}", userEntry.Text, passwordEntry.Text);
var response = await client.GetAsync(url);
result = response.Content.ReadAsStringAsync().Result;
enterButton.IsEnabled = true;
waitActivityIndicator.IsRunning = false;
}
catch (Exception ex)
{
await DisplayAlert("Error", "No hay Conexión...", "Aceptar");
enterButton.IsEnabled = true;
waitActivityIndicator.IsRunning = false;
return;
}
waitActivityIndicator.IsRunning = false;
if (string.IsNullOrEmpty (result) || result == "null")
{
await DisplayAlert("Error", "Usuarios y/o Password NO válido", "Aceptar");
passwordEntry.Text = string.Empty;
passwordEntry.Focus();
return;
}
var usuariosMovil = JsonConvert.DeserializeObject<UsuariosMovil>(result);
await Navigation.PushAsync(new MenuPage(usuariosMovil));
}
一個Web服務,負責將已輸入到系統中的用戶和密碼的,這個想法是通過頁面之間的變量,但在event infractionButton_Clicked (object sender, EventArgs e)
,變量usersMovil
取和取值null
。
public UsuariosMovil usuariosMovil;
public int UsuarioMovilID;
public MenuPage(UsuariosMovil usuarioMovil)
{
InitializeComponent();
UsuarioMovilID = usuarioMovil.UsuarioMovilID;
titleLabel.Text = string.Format("[email protected] {0} {1}", usuarioMovil.Nombre, usuarioMovil.Apellido);
infraccionButton.Clicked += infraccionButton_Clicked;
consultarButton.Clicked += consultarButton_Clicked;
actualizarButton.Clicked += actualizarButton_Clicked;
}
private async void actualizarButton_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new ActualizarPage());
}
private async void consultarButton_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new ConsultarPage());
}
private async void infraccionButton_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new NewInfraccionPage(usuariosMovil));
}
你試過把一個breakpointer在menupage的構造,看看你得到任何價值嗎? –
是的,它給了我我想要的值...問題是當我退出構造函數....在線等待Navigation.PushAsync(new NewInfraccionPage(usuariosMovil))....變量usersMovil需要值null @JordyDieltjens –