Bazı ASP.NET sayfalarını MVC kullanarak yeniden yazmak için atanmıştım. Bu ödev üzerinde çalışmadan önce MVC'de tamamen eğitimsiz kaldım.Varolan bir ASP.NET uygulamasına MVC görünümleri nasıl eklenir?
Üzerinde çalıştığım sayfalar, kullanıcıdan parametre kabul eden, parametreleri saklı bir prosedüre (SQL Server) geçiren ve bir web sayfasında görüntülenen veri kümesini döndüren basit raporlardır.
Bu projeye gelmeden önce, önceki bir ekip üyesi bu sayfaları MVC'ye dönüştürme sürecindeydi. Gelmeden önce gitti. Şimdi bu sayfaları MVC'ye dönüştürme görevine devam etmek için görevlendirildim.
W3schools ve Kanal 9'daki bazı MVC eğiticileri ile çalıştım ve bunlar bana mantıklı geliyor. Bu basit eğitim uygulamalarını sorunsuz bir şekilde çalıştırabiliyordum. Ama bu 'gerçek' sayfaları MVC'ye dönüştürmekte çok fazla sorun yaşıyorum.
"Dönüştürme" diyorum, ama bununla demek istediğim, mevcut sayfaları tek başına bırakıyorum ve varolan sayfanın davranışını taklit eden yeni bir MVC "sayfası" yapıyorum.
Yeni bir denetleyici oluşturabildiğim, ardından yeni denetleyiciden yeni bir görünüm oluşturabildiğim ve daha sonra uygulamamı çalıştıracağım ve ilgili URL'yi tarayıcının adresine yazarak yeni görünüme geçebileceğimi varsayımı altında çalışıyorum bar. Ama bunu denediğimde 404 hatası alıyorum.
Ekibimde başka hiç kimse bana MVC ile herhangi bir tavsiyede bulunacak kadar tanıdık gelmiyor. Bu durumun nasıl giderileceği hakkında hiçbir fikrim yok. Çalıştığım projeyle ilgili olabildiğince spesifik bilgi vereceğim, şu anda hangi ayrıntıların sağlanacağından emin değilim.
Özetle, şu an için sorduğum şey, bu mevcut uygulamada nasıl yeni bir görünüm oluşturulacağı ve uygulamanın URL'sine gitmeyi denediğimde uygulamayı başarılı bir şekilde görüntülemenin nasıl sağlanacağı konusunda yardımcı oluyor.
Teşekkürler.
Düzenleme:
ben onunla ilişkili görünümünü görüntülemek için uygulamayı alabilir sadece görmek için, çok basit bir denetleyici ile başladı ettik. Denetleyici, ilişkili görünümünü görüntülemekten başka bir şey yapmak anlamına gelmez.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace TSS.Controllers
{
public class Tim_Dev_Controller : Controller.
{
//
// GET: /Tim_Dev_/
public ActionResult Index()
{
return View();
}
public ActionResult Test()
{
return View();
}
}
}
Düzenleme 1.1:
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
Düzenleme 2: İşte karşılık gelen görünüm için kod İşte bunun için kod İşte routeconfig.cs dosyasının içeriği:
using System.Web.Mvc;
using System.Web.Routing;
using TSS.Utilities;
namespace TSS
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{instance}/{controller}.aspx/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "CTPCatalogImportEmployee",
url: "{instance}/{controller}.aspx/{action}/{empId}/{series}"
);
}
}
}
Düzenleme 3: Burada biraz daha fazla bilgi var. Onların
return View()
arayıp bu sayfaları açtığınızda bu kırılma noktaları vurmak mevcut denetleyicileri bir kırılma noktasını yerleştirebilirsiniz. Ancak, yeni denetleyicimde aynı
numaralı çağrıyı aradığımda hiçbir zaman vurulmaz. (Bu, ilgili URL’yi tarayıcının adres çubuğuna girerek yeni görünümümde gezinmeye çalıştığım zamandır.)
Lütfen bazı denetleyici kodunu ve ilgili görünümü gönderin ve size yardımcı olabiliriz. – markpsmith
Lütfen sahip olduğunuz ve denediğiniz bir kodu gönderin, böylece en iyi şekilde yardımcı olabiliriz! –
bu yardımcı olacak mı? http://www.davepaquette.com/archive/2013/12/30/so-you-inherited-an-asp-net-web-forms-application.aspx –