Server Error in '/' Application. - The resource cannot be Found.

Posted by Bigced_21 on Stack Overflow See other posts from Stack Overflow or by Bigced_21
Published on 2010-03-12T21:33:40Z Indexed on 2010/03/12 21:37 UTC
Read the original article Hit count: 896

I am new to ASP.NET MVC 2. I do not understand why I am receiving this error. Is there something missing that i'm not referencing correctly.

I'm trying to create a simple jquery autocomplete online search textbox and view the details of the person that i select

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>" %>

$(document).ready(function() { $("#searchTerm").autocomplete("/Offenders/getAjaxResult/"); });
Home Page

<%= Html.Encode(ViewData["Message"]) %>

    <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 />

what do i have to do in order for the textbox search to display on the index page? What else do i have to do for the autocomplete to function correctly. i have the autocomplete.js & jquery.js added to the index.aspx view

Any help will be appreciated so that i can get this working.

Thanks!

© Stack Overflow or respective owner

Related posts about jquery-autocomplete

Related posts about asp.net-mvc-routing