Я играю с Razor Pages в ядре ASP. NET в качестве учебного упражнения, и одна вещь, которую я заметил, когда пытался использовать неопределенный ключ в viewData, это то, что не было выдано исключение. Я предполагаю, что это предназначено, но мне интересно ... почему? И как мне go об обнаружении таких ошибок? Кажется, было бы легко сделать опечатку и ужасно трудно заметить, пока не стало слишком поздно. Пример:
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
namespace Infodawn.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public void OnGet()
{
// doesn't throw exception, even though viewData["bar"] is undefined:
ViewData["foo"] = ViewData["bar"];
// throws exception, as expected:
Dictionary<string, int> dict = new Dictionary<string, int>();
int a = dict["bar"];
}
}
}