Post Request未返回与传递

时间:2016-10-24 01:52:02

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

我正在尝试使用MVC做一个简单的CRUD应用程序asp.net核心,最奇怪的事情发生在我身上。

创建模型并将其传递给表单但是当我去保存它时,它不再具有我传入其中的Id。

    [HttpGet]
    public IActionResult CreateCompany(Guid id)
    {
        //id = 677b57f1-d0b2-484b-9892-b06e6eb9f1f7
        var pageId = id;
        var company = new CompanyListItem() {PublicPageId = pageId};
        return View(company);
    }

    [HttpPost]
    public IActionResult CreateCompany(CompanyListItem model)
    {
         //model.PublicPageId = 00000000-0000-0000-0000-000000000000
        if (ModelState.IsValid)
        {
            model.Id = Guid.NewGuid();
            var newModel = _companyDataProvider.Add(model);
            PublicPageViewModel page = null;
            if (newModel != null)
            {
                page = _pageDataProvider.GetPageIdFromCompanyListId(newModel.Id);
            }
            if (page != null)
            {
                return RedirectToAction("Details", page);
            }
        }
        return View();
    }

我的表格:

@model CompanyListItem

<h1>Add Company</h1>
<form method="post">
    <div class="col-md-6">
        <div class="form-group">
            <label asp-for="Header"></label>
            <input asp-for="Header" class="form-control"/>
        </div>

        <div>
            <input type="submit" class="btn btn-success" value="save"/>
            <a class="btn btn-default">Cancel</a>
        </div>
    </div>
</form>

有谁知道为什么会这样?或者我如何防止它发生?

0 个答案:

没有答案