C# 在使用敲除JS的MVC项目中找不到控制器路径
我正在处理一个MVC web应用程序,其中一个页面使用javascript文件作为数据C# 在使用敲除JS的MVC项目中找不到控制器路径,c#,asp.net-mvc,knockout.js,C#,Asp.net Mvc,Knockout.js,我正在处理一个MVC web应用程序,其中一个页面使用javascript文件作为数据 I have the TournamentInfo.js file in a folder called "Scripts" I have the TournamentController.cs file in a folder called "Controllers" I have the TourneyInfo.cshtml file in a folder called "Tourneys" that
I have the TournamentInfo.js file in a folder called "Scripts"
I have the TournamentController.cs file in a folder called "Controllers"
I have the TourneyInfo.cshtml file in a folder called "Tourneys" that is in a folder called "Views"
当我尝试运行项目时,出现以下错误:
[Htpp Exception] The controller for path '/Tourneys/TourneyInfo' was not found or does not implement IController
我在我的项目中有另一个使用相同格式(javascript文件、控制器文件和视图文件)设置的页面,该页面可以正常工作。我找不到会导致我收到的错误的差异
关于我应该寻找什么来解决我的比赛页面上的问题,有什么建议吗
*如果您想查看每个文件的代码,请告诉我。我不确定它是否相关,因为我的另一个页面使用了这种格式
Javscript文件:
function tournamentpageModel() {
var self = this;
self.Tournaments = ko.observableArray([]);
}
function TourneyInfo(_name, _date, _location, _pattern, _avg, _finish, _ttlentries) {
var self = this;
self.Name = ko.observable(_name);
self.Date = ko.observable(_date);
self.Loc = ko.observable(_location);
self.Pattern = ko.observable(_pattern);
self.Avg = ko.observable(_avg);
self.Finish = ko.observable(_finish);
self.Entries = ko.observable(_ttlentries);
}
var viewTModel = new tournamentpageModel();
viewTModel.Tournaments.push(new TourneyInfo("South Regional", "May 9-10, 2014", "Rocky Mount, NC", "Chameleon (41ft)", "167.75", "70th", "75"));
viewTModel.Tournaments.push(new TourneyInfo("South Regional", "March 7-9, 2014", "Pensacola, FL", "Badger (52ft)", "215.75", "17th", ""));
viewTModel.Tournaments.push(new TourneyInfo("South Regional", "", "Pensacola, FL", "", "", "", ""));
viewTModel.Tournaments.push(new TourneyInfo("South Regional", "", "Canton, GA", "Viper (39ft)", "215.75", "14th", ""));
$(function () {
ko.applyBindings(viewTModel);
})
控制器:
using PracticeApp.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace PracticeApp.Controllers
{
public class TournamentController : Controller
{
public ActionResult TourneyInfo()
{
return View();
}
}
}
视图:
@{
ViewBag.Title=“锦标赛”;
}
@视图包。标题
锦标赛名称日期位置油模式符合AVG最终总参赛项目
共享布局…包含导航菜单的操作链接。除了锦标赛链接,它们都可以工作。它们在重载中使用相同的格式(“超链接文本”、“文件名”、“文件夹名”):
Atlas网页
@style.Render(“~/Content/css”)
@Scripts.Render(“~/bundles/modernizer”)
*左撇子打保龄球的方法*
- @ActionLink(“主页”、“索引”、“主页”)
- @ActionLink(“团队”、“关于”、“关于”)
- @ActionLink(“当前队列”、“当前列表”、“当前”)
- @ActionLink(“退役设备”、“退役列表”、“退役”)
- @ActionLink(“锦标赛”、“锦标赛信息”、“锦标赛”)
- @ActionLink(“保龄球视频”、“视频”、“视频”)
- @ActionLink(“赞助商”、“赞助商”、“赞助商”)
@渲染部分(“特色”,必填项:false)
@RenderBody()
&抄袭@DateTime.Now.Year:Southpaw Web解决方案和交易™-电邮:jmilam90@gmail.com
神的程式化绘画,阿特拉斯,由shutterstock提供
@Scripts.Render(“~/bundles/jquery”)
@RenderSection(“脚本”,必需:false)
惯例是路径使用控制器名称的前缀,因此您应该导航到:
/Tournament/TourneyInfo/
而不是:
/Tourneys/TourneyInfo/
您可能会发现在报告故障之前尝试了哪些路由非常有用:
编辑:另请参见下面的评论。另一个问题是视图的位置-默认情况下,视图需要位于
views\\
文件夹中,例如views\tourbank\
TourneyInfo视图的路径应该类似于/tourbank。一、 e您正在引用视图,而不是控制器。MVC路由将无法协调此请求。看起来您正在尝试调用Tourneys控制器上的TourneyInfo操作(应该是Tourney控制器?)。查看控制器和调用控制器的代码会很有帮助。我将发布文件的代码。这些是我的操作链接。除了锦标赛,他们都在工作<代码>/Tournament/TourneyInfo/
/Tourneys/TourneyInfo/