Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t获取要发布的ASP.NET MVC表单_Asp.net_Asp.net Mvc - Fatal编程技术网

Can';t获取要发布的ASP.NET MVC表单

Can';t获取要发布的ASP.NET MVC表单,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我在将表单发布到控制器中的Save方法时遇到问题。我是MVC的新手,我已经通过几个例子来尝试让它发挥作用。以下是我的html标记: <form action="Edit/Save" method="post"> <fieldset> <legend>Personal Information</legend> <table class="editGrid">

我在将表单发布到控制器中的Save方法时遇到问题。我是MVC的新手,我已经通过几个例子来尝试让它发挥作用。以下是我的html标记:

    <form action="Edit/Save" method="post">
        <fieldset>
            <legend>Personal Information</legend>

            <table class="editGrid">
                <tr>
                    <td><label for="txtFirstName">First Name:</label></td>
                    <td><input type="text" id="txtFirstName" value="<%=user.FirstName %>" name="FirstName" /></td>                    
                </tr>
                <tr>
                    <td><label for="txtLastName">Last Name:</label></td>
                    <td><input type="text" id="txtLastName" value="<%=user.LastName %>" name="LastName" /></td>                    
                </tr>
                <tr>
                    <td><label for="txtNtLogin">NT Login:</label></td>
                    <td><input type="text" id="txtNtLogin" value="<%=user.NtLogin %>" name="NtLogin" /></td>                   
                </tr>
                <tr>
                    <td><label for="txtHireDate">Hire Date:</label></td>
                    <td><input type="text" id="txtHireDate" value="<%=string.Format("{0:d}",user.HireDate) %>" name="HireDate" /></td>               
                </tr>
            </table>
        </fieldset>

        <fieldset>
            <legend>Job Information</legend>

            <table class="editGrid">
                <tr>
                    <td><label for="CostCenters">Cost Center:</label></td>
                    <td><%=Html.DropDownList("CostCenters")%></td>
                </tr>
                <tr>
                    <td><label for="Managers">Manager:</label></td>
                    <td><%=Html.DropDownList("Managers")%></td>
                </tr>
                <tr>
                    <td><label for="Responsibilities">Responsibility:</label></td>
                    <td><%=Html.DropDownList("Responsibilities")%></td>
                </tr>
                <tr>
                    <td><label for="Departments">Department:</label></td>
                    <td><%=Html.DropDownList("Departments")%></td>                        
                </tr>
                <tr>
                    <td><label for="Active">Active:</label></td>
                    <td><%=Html.CheckBox("Active",user.Active) %></td>
                </tr>
                <tr>
                    <td><label for="txtHireDate">Hire Date:</label></td>
                    <td><%=Html.TextBox("txtHireDate",string.Format("{0:d}",user.HireDate)) %></td>
                </tr>
                <tr>
                    <td><label for="txtReleaseDate">Release Date:</label></td>
                    <td><%=Html.TextBox("txtReleaseDate",string.Format("{0:d}",user.ReleaseDate)) %></td>
                </tr>
            </table>
        </fieldset>
        <input type="submit" value="Save Changes" />    
</form>
我已尝试使用html表单标记和html帮助程序代码:

using (Html.BeginForm("Save", "Edit")) 
以下是Global.asax文件中my RegisterRoutes方法的条目:

    routes.MapRoute("EditSave", "{controller}/Save",
                    new { controller = "Edit", action = "Save" });
无论我做什么,submit按钮都不会触发Save方法。但是,如果我手动输入Url,代码将直接进入Save方法

编辑: 根据Craig Stuntz的评论,我检查了页面的来源。该页面实际上包含2个表单,尽管页面上只有1个表单是我自己编写的:以下是显示在我的表单标记之前的HTML:

<form name="aspnetForm" method="post" action="44" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNjM3OTAyNTUzZGQrHhVn9+t78aHxN0vHvKUJ8DQWlQ==" />
</div>

                <div id="nav">
                    <span id="navLinks">
                        <a href="#">Placeholder Link</a>
                    </span>
                    <span id="userName">
                        <span id="ctl00_lblUserName" class="UserName">Welcome, Test User</span>
                    </span> 
                </div> 

                <div id="Content">


    <div id="formContainer">

            <form action="Edit/Save" method="post">

欢迎,测试用户

我认为MVC不会生成viewstate或其他表单标记。我正在从同一个控制器中使用另一种方法提取数据并将其填充到此表单中。我做错什么了吗?

好的,我知道答案了。谢谢Craig让我再次查看HTML!我的母版页在我不知道的情况下在其中生成了一个表单标记,所以我基本上在同一页上嵌套了表单。在我从母版页中删除表单后,一切都很顺利。

好的,得到了答案。谢谢Craig让我再次查看HTML!我的母版页在我不知道的情况下在其中生成了一个表单标记,所以我基本上在同一页上嵌套了表单。从母版页删除表单后,一切正常。

呈现的HTML(在浏览器中)中的表单操作URL是什么?呈现的HTML(在浏览器中)中的表单操作URL是什么?
<form name="aspnetForm" method="post" action="44" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNjM3OTAyNTUzZGQrHhVn9+t78aHxN0vHvKUJ8DQWlQ==" />
</div>

                <div id="nav">
                    <span id="navLinks">
                        <a href="#">Placeholder Link</a>
                    </span>
                    <span id="userName">
                        <span id="ctl00_lblUserName" class="UserName">Welcome, Test User</span>
                    </span> 
                </div> 

                <div id="Content">


    <div id="formContainer">

            <form action="Edit/Save" method="post">