提交表单MVC3 .Net时出错

时间:2012-05-10 19:59:44

标签: asp.net-mvc-3 forms properties razor model

您好,我提交以下表格时出错:

<div id="tabs">
  <ul>
    <li><a href="@Url.Action("MainDetails", "ProjectDetails")">Project Details</a></li>
    <li><a href="@Url.Action("ProjectAttachments", "ProjectAttachments")">Project Attachments</a></li>
    <li><a href="@Url.Action("Members", "ProjectNetwork", new { IsTab = true })">Project
        Network</a></li>
    <li><a href="@Url.Action("BulletingBoard", "BulletingBoard")">Bulleting Board</a></li>
    <li><a href="@Url.Action("BidsReceived", "Bids")">Bids Received</a></li>
</ul>
</div>
  <div id="LowerButton">
    @Html.Hidden("MainStatus", @Model.Status)
@using (@Html.BeginForm("Dashboard", "Dashboard"))
{     
    <button type="button" id="MakeComment">
        Make a Comment
    </button>  
    <input type="submit" id="GoDashBoard" value="Return to Project List" />
}
</div>

当我按下“GoDashBoard”按钮时,未到达控制器“仪表板”中的方法“仪表板”。而是出现以下错误:

error

它告诉我模型属性被发送到服务器。但是,仪表板表单中没有模型属性..除非我同时发送多个表单。但我不认为这可能是对的吗?你们有没有想过为什么在我实际上没有发送任何模型属性时试图设置模型属性?

更新

这是仪表板操作的输入:

   public ActionResult Dashboard(int page = 1)
    {
        var user = (User)Session["User"];
        if (user != null)
        {...
    }}

输入是默认整数。但是,我看到了调用的痕迹,并且提交了另一个与使用以下内容无关的表单: enter image description here

该表单位于其中一个ajax选项卡中。我不明白一个表单如何提交另一个表单而且它们不是嵌套的。谁知道一个好的解决方法?因为我想在两个动作中接收两种形式并进行一些验证。

1 个答案:

答案 0 :(得分:0)

我通过删除“Dashboard”表单解决了这个问题,而是添加了一个不可见的链接。该按钮将引用不可见的链接:

@*@using (@Html.BeginForm("Dashboard", "Dashboard"))
     {  *@   
    <button type="button" id="MakeComment">
        Make a Comment
    </button>  
    <button name="button" type="button" onclick="document.location.href=$('#GoDashBoard').attr('href')">Return to Project List</button>
    <a id="GoDashBoard" href="@Url.Action("Dashboard", "Dashboard")" style="display:none;"></a>

    @*<input type="submit" id="GoDashBoard" value="Return to Project List" />*@
@*  }*@