У меня есть некоторые проблемы, и я не знаю, что делать. Я попробовал несколько решений для этого, но это foreach l oop всегда оказывается "нулевым". В этом foreach произошел сбой, и он говорит: «Ссылка на объект не установлена для экземпляра объекта». Вот мой контроллер;
public class HomeController : Controller
{
public int count;
private readonly IConfiguration configuration;
private IHostingEnvironment _env;
private readonly string _webRootPath;
public string _dir;
public HomeController(IConfiguration config, IHostingEnvironment env)
{
this.configuration = config;
_webRootPath = env.WebRootPath;
}
public async Task<IActionResult> FileUpload(IEnumerable<IFormFile> files)
{
var targetFolder = Path.Combine(_webRootPath, "images");
foreach (var file in files)
{
count = 0;
var fileName = $"{Guid.NewGuid()}.png";
using (var fileStream = new FileStream(Path.Combine(targetFolder, fileName), FileMode.Create, FileAccess.Write))
{
file.CopyTo(fileStream);
count++;
}
string publicPath = "/images/" + fileName;
for (int i = 0; i < count; i++)
{
List<string> test = new List<string>();
test.Add(publicPath.ToString());
TempData["link"] = test;
}
}
return new RedirectResult(@"Privacy");
}
public IActionResult Privacy() //Privacy name here is just example it can change
{
//List<string> Data = TempData["link"] as List<string>;
//TempData.Keep();
//ViewBag.link = Data;
return View(TempData["link"] as string[]);
}
}
А это моя конфиденциальность .cshtml;
<label>Link:</label><br />
@*<input type="text" name="link" size="100" value="@TempData["link"]" /><br />*@
@foreach (var item in Model)
{
<textarea cols="102" rows="5" disabled="disabled" style="resize:none;">@item</textarea><br />
}