Create Data - potatoscript/asp.net.core.mvc GitHub Wiki

  1. Add the asp-action ="Create" in the Index.cshtml View
<div class="col-6 text-right">
    <a asp-controller="Project" asp-action="Create" class="btn btn-primary" >Another Create</a>
    @Html.ActionLink("Create New", "Create")
</div>
  1. Create View called Create.cshtml
@model TaskManagement.Models.Project
<form method="post" asp-action="Create">
    <div class="border p-3">
        <div class="form-group" row>
            <h2 class="text-info pl-3">Add Project</h2>    
        </div>
        <div class="row">
            <div class="col-8">
                <div class="form-group row">
                    <div class="col-4">
                        <label asp-for="name"></label>
                    </div>
                    <div class="col-8">
                        <input asp-for="name" class="form-control"/>
                    </div>
                </div>
                <div class="form-group row">
                    <div class="col-4">
                        <label asp-for="pic"></label>
                    </div>
                    <div class="col-8">
                        <input asp-for="pic" class="form-control" />
                    </div>
                </div>
                <div class="form-group row">
                    <div class="col-8 offset-4 row">
                        <div class="col">
                            <input type="submit" class="btn btn-info w-180" value="Create" />
                        </div>
                        <div class="col">
                            <a asp-action="Index" class="btn btn-success">Back</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</form>
  1. Create Controller
namespace TaskManagement.Controllers
{
    public class ProjectController : Controller
    {

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

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult New(Project model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Database d = new Database();
                    string sql = "INSERT INTO " + d.table + "( " +
                                    d.id + "," +
                                    d.project_name + ", " +
                                    d.pic + ", " +
                                    d.due_date + ", " +
                                    d.project_detail + " " +
                                    ")SELECT COALESCE(MAX(" + d.id + "::Integer),0)+1," +
                                    "'" + model.name + "'," +
                                    "'" + model.pic + "', " +
                                    "'" + model.duedate + "', " +
                                    "'" + model.detail + "' " +
                                    " FROM " + d.table;
                    Database db = new Database(sql);
                    db.Open();
                    db.Close();
                    TempData["alert"] = "Done";
                    return RedirectToAction("Index");
                }
                catch (Exception e)
                {
                    TempData["alert"] = e.Message;
                }
            }
            return View();
        }
    }
}
⚠️ **GitHub.com Fallback** ⚠️