Aktuelle Situation: Beginnend mit ASP.net MVC Entwicklung und von MVVM App Entwicklung Ich bin mit der Bindung einer Ansicht mit Ansicht Modell/Controller kämpfen. Ich habe mit einem leeren Projekt begonnen und versucht, Model, Viewmodel, Controller und View zu erstellen. Beim Starten des Projekts bekomme ich einen "500 Internal Server Error", verstehe aber nicht was falsch ist (kein Fehler im Ausgabefenster). Ich kann einfach nicht verstehen, wie eine Ansicht tatsächlich an ein Ansichtsmodell bindet (wahrscheinlich, weil ich zu viel in MVVM denke).Asp.net MVC Bindung zu Modell
Was ich derzeit haben:
Startup.cs:
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace WebApplication1
{
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Sample}/{action=Index}/{id?}");
});
}
// Entry point for the application.
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
}
Modell:
using System;
namespace WebApplication1.Models
{
public class SomeModel
{
public string Title { get; set; }
public DateTime Time { get; set; }
}
}
Ansichtsmodell:
using System;
using System.Collections.Generic;
using WebApplication1.Models;
namespace WebApplication1.ViewModels
{
public class SampleViewModel
{
public IList<SomeModel> SomeModels { get; set; }
public SampleViewModel()
{
SomeModels = new List<SomeModel>();
SomeModels.Add(new SomeModel()
{
Time = DateTime.Now,
Title = "Hallo"
});
}
}
}
Controller:
using Microsoft.AspNet.Mvc;
using WebApplication1.ViewModels;
namespace WebApplication1.Controllers
{
public class SampleController : Controller
{
//
// GET: /Sample/
public IActionResult Index()
{
return View(new SampleViewModel());
}
}
}
Ausblick:
@model WebApplication1.ViewModels.SampleViewModel
<!DOCTYPE html>
<html>
<head>
<title>Hallo</title>
</head>
<body>
@foreach (var someModel in Model.SomeModels)
{
<div>@someModel.Title</div>
}
</body>
</html>
ich viele Artikel sprechen über Modell gefunden Bindung sondern sie nur über Formulare und Eingabe sprechen. Ich möchte einige Daten zeigen, z.B. aus einer Datenbank in irgendeiner Art von Liste oder so und müssen daher kein Datum auf der Website veröffentlichen.
Kann jemand das (wahrscheinlich offensichtlich) Problem in meinem Beispielcode sehen?
Das Projekt basiert auf ASP.net 5 MVC 6 mit DNX.
Ich habe bereits einige Haltepunkte gesetzt, um zu sehen, ob der Controller tatsächlich aufgerufen wird. Und es ist. Ich habe die paar Methoden mit dem Debugger ohne Probleme durchlaufen. Das Ausgabefenster zeigt auch keinen Fehler oder etw an. so wie das.
Haben Sie versucht, den Code durchzugehen? Setzen Sie einen Haltepunkt bei Index() 'und Sie sollten herausfinden, wo der Fehler passiert. Vielleicht treffen Sie nicht einmal Ihren Controller –
Es ist ein sehr allgemeiner Fehler. Was Sie versuchen können, ist, einige Haltepunkte (Index-Methode) zu setzen und zu sehen, ob es gefeuert wird.Sie können auch Entwickler-Tools (Netzwerk) einchecken, um die URL-Adresse zu überprüfen. Überprüfen Sie auch die Methodendefinition der Routeconfig-Klasse. Dies sind die Punkte, an die ich jetzt denken kann. – riteshmeher
Start anzeigen. Es könnte ein Startkonfigurationsproblem sein. Sie haben nicht wirklich viel zu dem Thema angegeben. 500 Fehler könnten alles sein. Du hast mit einem leeren Projekt angefangen, also liegt es nahe, dass du etwas vergessen hast, das benötigt wurde, um die App auszuführen. – Nkosi