Реализация контроллера имеет две функции под названием Удалить:
Код: Выделить всё
// GET: ProjectsController/Delete/5
[HttpGet]
public async Task Delete(string id)
{
using (HttpClient httpClient = new HttpClient())
{
HttpRequest request = _httpContextAccessor.HttpContext!.Request;
Uri baseUrl = new UriBuilder(request.Scheme, request.Host.Host, request.Host.Port ?? -1).Uri;
httpClient.BaseAddress = baseUrl;
HttpResponseMessage result = httpClient.GetAsync($"/api/projects/{id}").Result;
string content = await result.Content.ReadAsStringAsync();
JsonSerializerOptions options = new JsonSerializerOptions
{
TypeInfoResolver = new DefaultJsonTypeInfoResolver
{
Modifiers =
{
static typeInfo =>
{
if (typeInfo.Kind != JsonTypeInfoKind.Object)
return;
foreach (JsonPropertyInfo propertyInfo in typeInfo.Properties)
{
// Strip IsRequired constraint from every property.
propertyInfo.IsRequired = false;
}
}
}
}
};
SpRroject.Fields project = JsonSerializer.Deserialize(content, options)!;
return View(project);
}
}
// POST: ProjectsController/Delete/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(string id, IFormCollection? collection)
{
try
{
return RedirectToAction(nameof(Index));
}
catch
{
return View();
}
}
Код: Выделить всё
|
[url=/Projects]Back to List[/url]
Я пробовал так много вещей в представлении, но оно всегда перезаписывается тем, что отправляет контроллер. Я использую страницы Razor.
Подробнее здесь: https://stackoverflow.com/questions/792 ... wrong-form
Мобильная версия