尝试转到其他页面时出现“找不到本地主机”错误-ASP.NET CORE MVC

时间:2019-12-15 01:51:27

标签: c# asp.net asp.net-mvc asp.net-core

我目前正在研究ASP.NET CORE上的基本任务清单。我在“待办事项”列表上方有一个按钮,单击该按钮后会说"Add Task",您将被重定向到“创建任务表单”。在单击Add Task按钮以将其重定向到该表单时,我收到一个localhost找不到错误。该网址是正确的,因为它显示为http://localhost:51797/Todo/Create,但是我的.cshtml页面没有出现。我是ASP.Net的新手,因此很抱歉,如果原因很明显,但是我已经遍历了我的代码,但我似乎找不到原因。

  [HttpPost]
        [ActionName("Create")]
        public ActionResult Create(int? id, string newText)
        {
            int i = id ?? 0;
            TodoListItem toDo = _todoListService.GetList(i);

            toDo.Text = newText;    //Set new text


            _todoListService.WriteToFile(toDo);


            return RedirectToAction("Index");       
        }

    }


这是我的Create.cshtml

@model TodoListItem
@{

    ViewData["Title"] = "Create";
}
<h2>Add Task</h2>

<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="Text" class="control-label"></label>
                <input asp-for="Text" class="form-control" name="newText" />
                <span asp-validation-for="Text" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Submit" class="btn btn-primary" />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Back to List</a>
</div>
@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
 app.UseMvc(routes =>
                routes.MapRoute(
                    name: "create",
                    template: "{controller=Todo}/{action=Create}");

            });

1 个答案:

答案 0 :(得分:2)

您需要GET操作的HTTPGET属性,该属性应返回带有空模型的创建视图。

public IActionResult Create()
{
    return View(new TodoListItem());
}

因此,当您单击添加任务时,它将执行此操作方法并返回创建视图。