Aseara am inceput sa trec infovalutar pe Asp.NET MVC.Si aveam 2 probleme :
1. degeaba ii dadeam Home/Index/3 ca in controller-ul
public class HomeController : Controller
{
public ActionResult Index(string Banca)
{
ViewData.Model = new CurrencyList();
ViewData["Bank"] = Banca;
return View("Index");
}
Nu vroia sa imi ia id-ul(parametrul Banca era null) si gata, indiferent cum ii dadeam eu Home/Index/BNR sau Home sau orice altceva –desi trecea prin procedura.
M-am gindit sa dau vina pe Asp.NET MVC, dar , fiind un framework folosit de atitia, nu ma gindeam ca tocmai eu am un caz deosebit …Si citisem ca pe IIS integrated NU trebuie sa ii faci modificari …
2. Cind incerca sa se conecteze la Sql Server, imi dadea “login failed for user …”
Am incercat sa refac login-ul , sa schimb parola, ce nu am incercat …
Asa ca m-am dus la culcare si am revenit cu sentimente mai bune de dimineata.
Rezolvari :
1. M-am dus sa ma uit cum e inregistrat routing-ul in global.asax.Cum sa fie , obisnuit:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "BNR" } // Parameter defaults
);
Si mi-a cazut fisa : parametrul de la functia index nu se cheama cum vrea el, ci cum vrea MVC – adica id
public ActionResult Index(string id) fata de public ActionResult Index(string Banca)
Naspa! Mi-aduce aminte de Java, cind numele clasei = numele fisierului !
2. Am incercat , in disperare , sa ma conectez si de pe Sql Server Management Console – acelasi mesaj : “Login Failed” . In disperare, ma conectez cu credentialele de Windows si ma uit in log-urile de la SQL Server – Management/Sql Server Logs – si acolo mi-a zis ca nu se poate ca nu este configurat in mixed mode …
Ce sa mai zic ? Schimb, dau restart la Sql, merge!
Sfat catre mine : Daca nu iti iese , du-te si te culca sau apuca-te de altceva. Revii cu mintea odihnita dupa aceea!