Je suis nouveau à ASP.NET MVC 2. Je ne comprends pas pourquoi je reçois cette erreur. Y at-il quelque chose qui manque que je ne me réfère pas correctement.Erreur de serveur dans l'application '/'. - La ressource ne peut pas être trouvée
Je suis en train de créer un simple jquery autocomplete zone de texte de recherche en ligne et consulter les détails de la personne que je sélectionne
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using DOC_Kools.Models;
namespace DOC_Kools.Controllers
{
public class HomeController : Controller
{
private KOOLSEntities _dataModel = new KOOLSEntities();
//
// GET: /Home/
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
//
// GET: /Home/
public ActionResult getAjaxResult(string q)
{
string searchResult = string.Empty;
var offenders = (from o in _dataModel.OffenderSet
where o.LastName.Contains(q)
orderby o.LastName
select o).Take(10);
foreach (Offender o in offenders)
{
searchResult += string.Format("{0}|r\n", o.LastName);
}
return Content(searchResult);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Search(string searchTerm)
{
if (searchTerm == string.Empty)
{
return View();
}
else
{
// if the search contains only one result return detials
// otherwise a list
var offenders = from o in _dataModel.OffenderSet
where o.LastName.Contains(searchTerm)
orderby o.LastName
select o;
if (offenders.Count() == 0)
{
return View("not found");
}
if (offenders.Count() > 1)
{
return View("List", offenders);
}
else
{
return RedirectToAction("Details",
new { id = offenders.First().SPN });
}
}
}
//
// GET: /Home/Details/5
public ActionResult Details(int id)
{
return View();
}
//
// GET: /Home/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Home/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
//
// GET: /Home/Edit/5
public ActionResult Edit(int id)
{
return View();
}
//
// POST: /Home/Edit/5
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
// TODO: Add update logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult About()
{
return View();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace DOC_Kools
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"OffenderSearch",
"Offenders/Search/{searchTerm}",
new
{
controller = "Home",
action = "Index",
searchTerm = ""
}
);
routes.MapRoute(
"OffenderAjaxSearch",
"Offenders/getAjaxResult/",
new { controller = "Home", action = "getAjaxResult" }
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<DOC_Kools.Models.Offender>" %>
<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
<script src="../../Scripts/jquery.autocomplete.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#searchTerm").autocomplete("/Offenders/getAjaxResult/");
});
</script>
Home Page
</asp:Content>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%= Html.Encode(ViewData["Message"]) %></h2>
<h2>Look for an offender</h2>
<form action="/Offenders/Search" method="post" id="searchForm">
<input type="text" name="searchTerm" id="searchTerm" value="" size="10" maxlength="30" />
<input type="submit" value="Search" />
</form>
<br />
</asp:Content>
Que dois-je faire pour que la recherche de zone de texte à afficher sur la sommaire? Que dois-je faire d'autre pour que la saisie semi-automatique fonctionne correctement. J'ai l'autocomplete.js & jquery.js ajouté à la vue index.aspx
Toute aide sera appréciée afin que je puisse obtenir ce travail.
Merci!
Ceci est la Message d'erreur Erreur de serveur dans l'application '/'. ------------------------------------------------- ------------------------------- La ressource est introuvable. Description: HTTP 404. La ressource que vous recherchez (ou l'une de ses dépendances) a pu être supprimée, son nom a été modifié ou elle est temporairement indisponible. Veuillez vérifier l'URL suivante et assurez-vous qu'elle est épelée correctement. URL demandée:/Délinquants/Recherche –
Avez-vous défini correctement votre URL dans vos appels ajax? Je veux dire à votre action ... –
Je ne suis pas sûr que ce soit mon premier projet avec MVC 2, et pas vraiment familier avec .NET. Je pense que mes tables de routage ne sont pas configurées correctement, ce que j'ai inclus au milieu du code ci-dessus. Je suis un peu confus avec les tables Route dans la page Global. –