无法找到该资源 。 ASP.NET MVC

时间:2018-03-23 10:27:59

标签: c# html asp.net-mvc asp.net-mvc-4

无法找到资源。

Requested URL: /Home/Home/Signup_User

但它应该是/Home/Signup_User 其中Home是控制器,Signup_UserHome Controller中的函数。我已经检查了拼写是否正确。

我的注册表格如下。

<form action="~/Home/Signup_User" method="post" enctype="multipart/form-data">
    @Html.AntiForgeryToken()

    <div class="row">
        <div class="large-6 columns">
            <label>
                Enter Name
                @Html.EditorFor(model => model.username, new { htmlAttributes = new { @class = "form-control" } })
            </label>
        </div>
        <div class="large-6 columns">
            <label>
                Enter Age
                @Html.EditorFor(model => model.age, new { htmlAttributes = new { @class = "form-control" } })
            </label>
        </div>
        <div class="large-6 columns">
            <label>
                Enter Email Address
                @Html.TextBoxFor(model => model.email, new { @class = "large-12", placeholder = "xyz@gmail.com", type = "email" })
            </label>
        </div>
        <div class="large-6 columns">
            <label>
                Enter Password
                @Html.PasswordFor(model => model.password, new { })
            </label>
        </div>
    </div>
    <br />
    <hr />
    <button type="submit" class="button tiny right" style="margin-left:5px;color:white;">Submit</button>
    <a href="#" class="button secondary tiny right close-reveal-modal" style="position:relative;    font-size: 0.6875rem;color:inherit;top:0;right:0;   font-weight: 300;" aria-label="Close">Cancel</a> }
    <a class="close-reveal-modal" aria-label="Close">&#215;</a>
</form>

5 个答案:

答案 0 :(得分:2)

FormExtensions(包含Controller和ActionName)

@using (Html.BeginForm("Signup_User", "Home", FormMethod.Post))
{

}

FormExtensions(包含Controller,ActionName和Area)

@using (Html.BeginForm("Signup_User", "Home", FormMethod.Post, new { area = "AreaName" }))
{

}

code snapshot

答案 1 :(得分:1)

尝试更换 行动= “〜/主页/ Signup_User”  同 action =“@ Url.Action(”Signup_User“,”Home“)”

答案 2 :(得分:1)

您只需添加控制器名称斜杠操作名称,无需添加〜

请参阅解决方案1的以下代码:

<form action="/Home/Signup_User" method="post" enctype="multipart/form-data">
    //Add rest of your code
</form>

否则,使用MVC内置的HTML帮助程序来呈现表单并将其余代码放在一起。

@using (Html.BeginForm("Signup_User", "Home", FormMethod.Post))
{
  // Add your rest of code
}

上面的代码会生成空标记。

答案 3 :(得分:0)

如果您没有在网络项目的属性下设置起始页面,可能会出现这种情况。所以这样做:

右键单击您的mvc项目 选择&#34;属性&#34; 选择&#34; Web&#34;标签 选择&#34;特定页面&#34; 假设您有一个名为HomeController的控制器和一个名为Index的操作方法,请输入&#34; home / index&#34;在对应于&#34;特定页面&#34;的文本框中单选按钮。

现在,如果启动Web应用程序,它将带您进入HomeController的Index操作方法呈现的视图。

答案 4 :(得分:0)

您似乎在action URL中使用相对路径。这就是为什么Home像这样添加了两次。

/Home/Home/Signup_User

Asp.net MVC提出了漂亮的Form Extensions。只需指定Controller Name, Action Method NameArea name(如果有的话)。

例如

@using (Html.BeginForm("actionName", "controllerName", new {area = "AreaName"}))

在你的情况下

ActionName :"Signup_User"
ControllerName:"Home"

假设您没有定义任何区域。用下面的代码替换你的代码。它会解决你的问题。

<强> CODE:

@using (Html.BeginForm("Signup_User", "Home"))
        @Html.AntiForgeryToken()

        <div class="row">
            <div class="large-6 columns">
                <label>
                    Enter Name
                    @Html.EditorFor(model => model.username, new { htmlAttributes = new { @class = "form-control" } })
                </label>
            </div>
            <div class="large-6 columns">
                <label>
                    Enter Age
                    @Html.EditorFor(model => model.age, new { htmlAttributes = new { @class = "form-control" } })
                </label>
            </div>
            <div class="large-6 columns">
                <label>
                    Enter Email Address
                    @Html.TextBoxFor(model => model.email, new { @class = "large-12", placeholder = "xyz@gmail.com", type = "email" })
                </label>
            </div>
            <div class="large-6 columns">
                <label>
                    Enter Password
                    @Html.PasswordFor(model => model.password, new { })
                </label>
            </div>
        </div>
        <br />
        <hr />
        <button type="submit" class="button tiny right" style="margin-left:5px;color:white;">Submit</button>
        <a href="#" class="button secondary tiny right close-reveal-modal" style="position:relative;    font-size: 0.6875rem;color:inherit;top:0;right:0;   font-weight: 300;" aria-label="Close">Cancel</a> }
        <a class="close-reveal-modal" aria-label="Close">&#215;</a>
    </form>