C# MVC .Net Core Form,强类型化的Form,无法使用(404错误)。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# MVC .Net Core Form,强类型化的Form,无法使用(404错误)。相关的知识,希望对你有一定的参考价值。
我对C#是非常陌生的,我只是想让一个MVC窗体工作,了解信息如何从视图传递到控制器。我只是想让一个MVC表单工作,了解信息如何从视图传递到控制器。我试图提交我的表单,并通过输入更新页面(最终,我可以找出如何将表单数据传递到一个XML文件。但是当我点击表单上的提交时,我得到一个错误。需要一些帮助,请。我找不到一个简单的教程来指导我完成这个任务。
我的文件是: User.cs (model), AddACustomerController.sc (controller), and AddACustomer.cshtml (view)
型号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.Web;
namespace WebApplication10.Models
public class User
[Required]
[Display(Name = "First Name")]
public string FirstName get; set;
[Required]
[Display(Name = "Last Name")]
public string LastName get; set;
[Required]
[Display(Name = "Role")]
public string Role get; set;
控制仪。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.Web;
using WebApplication10.Models;
namespace WebApplication10.Controllers
public class AddACustomerController : Controller
public IActionResult Index()
return View();
[HttpPost]
public ActionResult UserForm(Models.User person)
string firstname = person.FirstName;
string lastname = person.LastName;
string role = person.Role;
ViewBag.n = person.FirstName;
ViewBag.l = person.LastName;
ViewBag.r = person.Role;
return View("UserForm");
视图。
@model WebApplication10.Models.User
@
ViewData["Title"] = "AddACustomer";
<h1>AddACustomer</h1>
<h4 style="color:purple">
<b>First Name:</b> @ViewBag.f <br />
<b>Last Name:</b> @ViewBag.l <br />
<b>Role:</b> @ViewBag.r
</h4>
<hr />
@using (Html.BeginForm("UserForm", "AddACustomer", FormMethod.Post))
<table cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="center">Person Details</th>
</tr>
<tr>
<td>First Name: </td>
<td>
@Html.TextBoxFor(m => m.FirstName)
</td>
</tr>
<tr>
<td>Last Name: </td>
<td>
@Html.TextBoxFor(m => m.LastName)
</td>
</tr>
<tr>
<td>Role: </td>
<td>
@Html.DropDownListFor(m => m.Role, new List<SelectListItem>
new SelectListItemText="Administrator", Value="Administrator",
new SelectListItemText="Data Entry", Value="Data Entry",
new SelectListItemText="Sales", Value="Sales",
new SelectListItemText="Networking", Value="Networking"
, "Please select")
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
视图的图片。
当我点击表格上的提交按钮时,出现错误的图片。
答案
问题是
return View("UserForm");
对你来说,最简单的办法可能是把所有的路线都称为Index。 你可以有
Index()
Index(Models.User)
否则你需要创建另一个名为UserForm.cshtml的.cshtml(View)。
以上是关于C# MVC .Net Core Form,强类型化的Form,无法使用(404错误)。的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 强类型部分视图,给出无法加载类型错误
MVC 3 Razor Form Post w/ 多个强类型的部分视图不绑定
[MVC&Core]ASP.NET Core MVC 视图传值入门
[MVC&Core]ASP.NET Core MVC 视图传值入门