索引[空白详细页面] 1页我正在尝试为使用 moq 的字符串类型作为键的详细方法编写测试。我创建了一个接口和存储库,其中包含通过测试的方法 GetOne(string id)。我的问题是当我运行应用程序并导航到详细信息链接时,页面显示为空白。
我到处搜索,但找不到任何解决方案。
// The Repo
public class PostcodesRepository : IPostcodesRepository
{
private readonly sample6Context _context;
public PostcodesRepository(sample6Context context)
{
_context = context;
}
public Task<List<Postcode>> GetAll() =>
_context.Postcode.Include(p => p.DataZoneNavigation).AsNoTracking().OrderByDescending(a => a.Postcode1).ToListAsync();
public Task<Postcode> GetOne(string id) =>
_context.Postcode.Include(p => p.DataZoneNavigation).AsNoTracking().FirstOrDefaultAsync(m => m.Postcode1 == id);
}
}
// Model
public class Postcode
{
[key]
public string Postcode1 { get; set; }
public string DataZone { get; set; }
public virtual Data DataZoneNavigation { get; set; }
}
// The Interface
public interface IPostcodesRepository
{
Task<List<Postcode>> GetAll();
Task<Postcode> GetOne(string id);
}
// The Controller
public class PostcodesController : Controller
{
private readonly IPostcodesRepository _postcodesRepository;
public PostcodesController(IPostcodesRepository postcodesRepository)
{
_postcodesRepository = postcodesRepository;
}
// GET: Postcodes
public async Task<IActionResult> Index()
{
return View(await _postcodesRepository.GetAll());
}
// GET: Postcodes/Details/5
public async Task<IActionResult> Details(string id)
{
if (id == null)
{
return NotFound();
}
var postcode = await _postcodesRepository.GetOne(id);
if (postcode == null)
{
return NotFound();
}
return View(postcode);
}
}
// The Detail view
@model abdndata.Models.Postcode
@{
ViewData["Title"] = "Details";
}
<h1>Details</h1>
<div>
<h4>Postcode</h4>
<hr />
<dl class="row">
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Postcode1)
</dt>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.DataZone)
</dt>
</dl>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>
// Routing
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
我希望详细方法能够正常运行并显示信息。