Не будет хватать мой новый пароль - не соответствует ни одному доступному виду
Вот когда, например, я получаю пользователя на странице. и посылает человеку своего рода приветственное письмо. тогда он говорит мне::
ArgumentNullException: значение не может быть null. Имя параметра: Email/NewPassword не соответствует ни одному доступному представлению
Это тот случай, когда мой зарегистрированный пользователь находится в учетной записи, и когда я отправляю почту, она находится в папке по адресу Вид/Электронный/Новый_пароль.
Я использовал информацию, содержащуюся здесь.
Когда я попытаюсь "позвонить" в область, которую я хотел бы получить, я сделаю это здесь. И этот фрагмент кода я использую в своем контроллере учетной записи.
var resultMail = await _viewRenderService.RenderToStringAsync("Email/NewPassword", viewModel); var client = new SendGridClient(m.AzureName()); var from = new EmailAddress(m.MailFrom(), m.NameFromUsername()); var to = new EmailAddress(mail, UserValue.Navn); var plainTextContent = Regex.Replace(resultMail, "<[^>]*>", ""); var msg = MailHelper.CreateSingleEmail(from, to, title, plainTextContent: plainTextContent, var resulta = client.SendEmailAsync(msg);
В с - RenderToStringAsync
Там, где происходят подобные ошибки, есть место, где я написал: "ошибка здесь".
public async Task<string> RenderToStringAsync(string viewName, object model) { var httpContext = new DefaultHttpContext { RequestServices = _serviceProvider }; var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); using (var sw = new StringWriter()) { var viewResult = _razorViewEngine.FindView(actionContext, viewName, false); //the error is here if (viewResult.View == null) { throw new ArgumentNullException($"{viewName} does not match any available view"); } var viewDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { Model = model }; var viewContext = new ViewContext(actionContext, viewResult.View, viewDictionary, new TempDataDictionary(actionContext.HttpContext, _tempDataProvider), sw, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return sw.ToString(); } }
Что я уже пробовал:
I've tried a part and I've tried that with GetView so you get the content I want to grab.
Richard Deeming
Называется ли этот файл NewPassword.cshtml
в папке Views/Email
, или он находится в папке под названием Views/Email/NewPassword
?