ASP.NET:错误 - ' /'中的服务器错误应用

时间:2015-07-20 12:48:20

标签: c# asp.net asp.net-mvc registration

我正在使用ASP.NET MVC项目,每次我尝试运行我的视图Register.cshtml时都会收到此错误:

Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /User/Register

我正在尝试使用查看代码开发注册页面:

  @{
        ViewBag.Title = "Register";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

<h2>Register</h2>

<form action='@Url.Action("Register", "Controller")'>

    <input type="hidden" name="FormType" value="A" />
    <input type="hidden" name="FormType" value="B" />
    <input type="text" name="Name" placeholder="enter your name" />
    <input type="text" name="Password" placeholder="enter your name" />
    <input type="radio" name="typeOfForm" class="radioBtn" value="A">Form A
    <input type="radio" name="typeOfForm" class="radioBtn" value="B">Form B
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <div style="display: none" id="formA" action="/actionA">
        <input type="text" name="City" placeholder="City" />  <input type="submit" value="Register Me!" />
    </div>

    <div style="display: none" id="formB" action="/actionB">
        <input type="text" name="Age" placeholder="Age" /><input type="submit" value="Register Me!" />
    </div></form>

<script>
    $('.radioBtn').click(function () {
        var formType = $(this).val();
        //alert(formType);
        if (formType == "A") {
            $('#FormA').show();
            $('#FormB').hide();
        } else {
            $('#FormB').show();
            $('#FormA').hide();
        }
    });</script>

使用UserController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace BootstrapSite4.Controllers
{
    public class UserController : Controller
    {   [HttpGet]
        [HttpPost]
        // GET: User
        public ActionResult Register(char FormType, string name, string password)
        {
            Seller S = new Seller();
            DeliveryMan D = new DeliveryMan();
            if (FormType=='A')
                S.Name = name;
            else 
                D.Name = name;
            return View();}}}

我试图更改我的RegisterRoutes但仍然得到相同的错误..我认为我的错误与位置只!只是简单描述注册理念:我有两类用户填写注册表格,并根据他们选择的内容(在单选按钮中),表格的其余部分将出现在同一页面,让他们继续注册然后将其添加到正确的数据库中。

1 个答案:

答案 0 :(得分:4)

您还需要向HttpGet添加Register UserController方法:

[HttpGet]
public ActionResult Register()
{
    return View();
}

请记住,您需要2种注册方法:

  1. GET - 请求资源中的数据 - 在这种情况下请求转到“注册”视图
  2. POST - 提交数据 - 在这种情况下,将用户信息发送到服务器,注册用户
  3. More reading on Http Get and Post