我是ASP.Net MVC的新手。我搜索并审查了很多答案,但仍无法找到解决方案。
我有一个ASP.Net MVC应用程序,在部署时本地行为不同。尝试在部署顶级Azure时向其他托管服务提供商打开“公司\索引”视图时,找不到404,但在Visual Studio / IIS Express中本地运行时,它可以正常工作。
我正在使用初始“新应用程序向导”提供的默认路由。我有什么遗漏可能意味着我在点击http:\ myappname \ Companies \ Index或http:\ myname \ Companies时获得404?
行动我正在尝试点击打开新的“公司”视图......
@{
ViewData["Title"] = "Manage";
}
<h2>Manage</h2>
<p>Choose an item below to configure settings</p>
<div class="">
<ul>
<li>@Html.ActionLink("Companies", "Index", "Companies") </li>
</ul>
</div>
Visual Studio中应用程序的目录结构...
路由...
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Set default erorr handler page
app.UseExceptionHandler("/Error.html");
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.AddJsonFile(env.ContentRootPath+ "/config.json")
.Build();
// Set Developer Exceptions on if in development mode
if (configuration.GetValue<bool>("FeatureToggles:EnableDeveloperExceptions"))
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
控制器索引操作我试图调用以返回公司\索引视图...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.EntityFrameworkCore;
using Daylight.Data;
using Daylight.Models;
namespace Daylight.Controllers
{
public class CompaniesController : Controller
{
private readonly DaylightDataContext _context;
public CompaniesController(DaylightDataContext context)
{
_context = context;
}
// GET: Companies
public async Task<IActionResult> Index()
{
return View(await _context.Companies.ToListAsync());
}
我会非常感谢任何指针!
事实证明这是由于网站无法访问数据库,因此无法将数据返回到视图,因此视图显示为空白。