首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core和EF Core1.1

ASP.NET Core和EF Core1.1
EN

Stack Overflow用户
提问于 2017-03-22 07:30:22
回答 2查看 95关注 0票数 0

我在如何添加参数方面有疑问,请参阅下面的代码:

代码语言:javascript
复制
[HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult Edit(Employee emp)
    {
        try
        {

            Employee updateEmp = _Context.Employee.FirstOrDefault(c => c.Idemployee == emp.Idemployee);
            updateEmp.Address = emp.Address;
            updateEmp.Age = emp.Age;
            updateEmp.ContactNumber = emp.ContactNumber;
            updateEmp.FullName = emp.FullName;
            updateEmp.Gender = emp.Gender;
            updateEmp.IsActive = emp.IsActive;

            _Context.Employee.Update(updateEmp);
            _Context.SaveChanges();

            return RedirectToAction("Index");
        }
        catch (Exception)
        {

            throw;
        }
    }

我在这里试图做的是从查询字符串中提取emp.Idemployee,但是它不能,并将我重定向到错误空异常。

我使用一个模型从cshtml中提取细节。

代码语言:javascript
复制
public IActionResult Edit(int id)
    {
        var editEmployee = _Context.Employee.FirstOrDefault(c => c.Idemployee == id);

        return View(editEmployee);
    }

我不知道它有什么问题,但除了Idemployee之外,所有其他信息都被提取出来。

代码语言:javascript
复制
@model Demo101.DAL.Entities.Models.Employee

@{
    ViewBag.Title = "Edit Employee";
}

<h2>@ViewData["Title"]</h2>

<form asp-controller="Employee" asp-action="Edit" method="post" class="form-horizontal" role="form">
    <div class="form-horizontal">
        <div asp-validation-summary="All" class="text-danger"></div>

        <!--FullName-->
        <label asp-for="Idemployee" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.LabelFor(model => model.Idemployee, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.Idemployee)
        </div>

        <!--FullName-->
        <label asp-for="FullName" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.FullName, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.FullName)
        </div>

        <!--Age-->
        <label asp-for="Age" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.Age, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.Age)
        </div>

        <!--ContactNumber-->
        <label asp-for="ContactNumber" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.ContactNumber, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.ContactNumber)
        </div>

        <!--Address-->
        <label asp-for="Address" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.Address, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.Address)
        </div>

        <!--Gender-->
        <label asp-for="Gender" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.Gender, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.Gender)
        </div>

        <!--IsActive-->
        <label asp-for="IsActive" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            @Html.CheckBoxFor(model => model.IsActive, new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.IsActive)
        </div>

        <!--Create Button-->
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Edit Employee" class="btn btn-default" />
        </div>
    </div>
</form>

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-22 07:48:30

看我下面的代码,试试这个

代码语言:javascript
复制
<!--IdEmployee-->
<label asp-for="Idemployee" class="col-md-2 control-label"></label>
<div class="col-md-10">
    @Html.LabelFor(model => model.Idemployee, new { @class = "form-control" })
    @Html.HiddenFor(model => model.Idemployee)
    @Html.ValidationMessageFor(model => model.Idemployee)
</div>
票数 3
EN

Stack Overflow用户

发布于 2017-03-22 07:48:20

您的视图不包含任何具有Employee值的字段。您有标签,有验证消息,但没有价值本身。因此,您在POST到server中没有任何价值。

在表格中添加以下内容:

代码语言:javascript
复制
@Html.HiddenFor(model => model.Idemployee)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42945311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档