System.Reflection.TargetInvocationException - Исключение было выбрано целью вызоваC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.Reflection.TargetInvocationException - Исключение было выбрано целью вызова

Сообщение Anonymous »

Я работаю над проектом для школы, используя Xamarin. Я не очень знаком с Ксамарином, поэтому я изо всех сил стараюсь объяснить свою проблему. В моем приложении есть страница курсов и добавить новые курсы. При нажатии на добавление нового курса Я получаю ошибку: system.reflection.targetinvocationException - Исключение было выбрано целью вызова . Я понятия не имею, что делаю не так, и потратил 10+ часов, пытаясь понять это. Есть ли лучший способ перейти на желаемую страницу? /> coursSpage.xaml






































< /code>

addnewcoursepage.xaml






















Objective
Performance










< /code>

coursesmodel.cs
public class CoursesModel : BaseViewModel
{

public ObservableRangeCollection AllCourses { get; set; }
public AsyncCommand RefreshCommand { get; }
public AsyncCommand NavigateToAddNewCoursePageCommand { get; }

public CoursesModel()
{
Title = "Courses";

AllCourses = new ObservableRangeCollection();
RefreshCommand = new AsyncCommand(Refresh);
NavigateToAddNewCoursePageCommand = new AsyncCommand(NavigateToAddNewCoursePage);
}

async Task NavigateToAddNewCoursePage()
{
await Shell.Current.GoToAsync(nameof(AddNewCoursePage));
}

async Task Refresh()
{
Busy();

AllCourses.Clear();
var courses = await CourseService.GetAllCourses();
AllCourses.AddRange(courses);

NotBusy();
}
}
< /code>
addnewcoursemodel < /p>
public class addnewcoursemodel: baseviewmodel
{
private String coursename; < /p>
public AsyncCommand AddCourseCommand { get; }
public AsyncCommand CancelCommand { get; }

public AddNewCourseModel()
{
Title = "Add New Course";

AddCourseCommand = new AsyncCommand(AddCourse);
CancelCommand = new AsyncCommand(Cancel);
}

async Task AddCourse()
{

var course = new Course()
{
CourseName = CourseName

};
await CourseService.AddCourse(course);
await Shell.Current.GoToAsync("CoursesPage");

}

async Task Cancel()
{
await Shell.Current.GoToAsync("CoursesPage");
}

public string CourseName
{
get => courseName;
set => SetProperty(ref courseName, value);
}
}
< /code>
addnewcoursepage.xaml.cs
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class AddNewCoursePage : ContentPage
{
public AddNewCoursePage()
{
InitializeComponent();
}
}
< /code>
appshell.xaml.cs
public partial class AppShell : Xamarin.Forms.Shell
{
public AppShell()
{
InitializeComponent();
Routing.RegisterRoute(nameof(CoursesPage), typeof(CoursesPage));
Routing.RegisterRoute(nameof(AddNewCoursePage), typeof(AddNewCoursePage));
Routing.RegisterRoute(nameof(TermsPage), typeof(TermsPage));
Routing.RegisterRoute(nameof(AddNewTermPage), typeof(AddNewTermPage));
}
}


Подробнее здесь: https://stackoverflow.com/questions/701 ... n-by-the-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»