如何更新我的页面详细信息?带mvc5的c#中

如何更新我的页面详细信息?带mvc5的c#中,c#,asp.net,html,ef-code-first,asp.net-mvc-5,C#,Asp.net,Html,Ef Code First,Asp.net Mvc 5,我想在同一表格上添加和更新问题。 这是我的添加操作。它工作得很好 [HttpGet] private ActionResult EditPost(string pageId) { var id = Convert.ToInt32(pageId); //Edit Action var tmppage = db.Pages.Where(o => o.id == id).First(); ViewBag.tmppage

我想在同一表格上添加和更新问题。

这是我的添加操作。它工作得很好

    [HttpGet]
    private ActionResult EditPost(string pageId)
    {

        var id = Convert.ToInt32(pageId);  //Edit Action
        var tmppage = db.Pages.Where(o => o.id == id).First();
        ViewBag.tmppage = tmppage;
        ViewBag.pages = returnPages();

        return View("Index");
    } 
这也是我的编辑文章。我可以使用相同的表单从数据库中检索数据

<div class="panel panel-success">
        <div class="panel-heading text-center">SAYFA EKLE</div>
        <div class="panel-body">

            <form action="~/Page/Insert" method="post">
                <table class="table table-bordered table-striped table-
 hover">
<tr>
    <td>Sayfa Adı</td>
    <td><input type="text" class="form-control" name="pageName" 
placeholder="Sayfa ismini giriniz" value="@if (ViewBag.tmppage != null) { 
@ViewBag.tmppage.pageName } " required/></td>
</tr>
<tr>
    <td>Sayfa Adresi</td>
    <td><input type="text" class="form-control" name="pageURL" 
placeholder="Sayfa adresini giriniz"   required/></td>
</tr>

<tr>
    <td>Aktif/Pasif</td>
    <td>
        <label class="radio-inline">
            <input type="radio" name="optactive" value="on" required>Aktif
        </label>
        <label class="radio-inline">
            <input type="radio" name="optactive" value="off" required>Pasif
        </label>

    </tr>

塞法埃克尔
赛法阿德
塞法阿雷西
Aktif/Pasif
阿克提夫
帕西夫

这也是我的观点。那么我如何更新我的记录呢?另外,我首先使用数据库中的实体框架代码。我对编码真的很陌生。如果你能帮我完成实习项目,我会很高兴的。

首先。你完全错过了MVC的原则。试着读更多关于它的书

如果您在视图中使用表单和模型,则在执行操作之前需要[HttpPost]

[HttpPost]   // this 
public ActionResult Insert (Pages pages) 
{
        Pages pages_ = new Pages();
        ....
get方法可以接受int值,为什么要使用字符串

[HttpGet]
private ActionResult EditPost(int? pageId)
{
    if (pageId == null) 
        ...do somrthing;

    ViewBag.tmppage = db.Pages.FirstOrDefault(o => o.id == pageId); 
    ViewBag.pages = returnPages();

    return View("Index");
}
你的视图必须有一个在你的案例中显示页面的模型。表单标签的外观应该不同

   @model Pages // your first line in the view
   ...
   <form asp-action="Insert" asp-controller="Pages">
       <input asp-for="pageName" class="" />
       <input asp-for="isActive" class="" />
       .... and etc.
@model Pages//视图中的第一行
...
.... 等等。
这只是部分答案。只需多花一点时间阅读文档。不过,我建议你看这段视频,它们很短,但对你很好


如果这是MVC 5,为什么要使用
asp操作
asp控制器
?因为MVC5有标记帮助程序。你可以使用它们。相信我,你会喜欢他们的。你链接到的论坛帖子不是关于MVC5的。OP搞错了。MVC 5没有标记帮助程序。标记帮助程序在MVC 5中可用。谷歌。但是,如果你需要一个解决方案,这取决于你。任何方法都有不同的方法来解决这个问题。我只是提供了其中一个。不必是最简单最好的。
   @model Pages // your first line in the view
   ...
   <form asp-action="Insert" asp-controller="Pages">
       <input asp-for="pageName" class="" />
       <input asp-for="isActive" class="" />
       .... and etc.