ASP MVC提交按钮没有做任何事情。完全没有

时间:2014-02-18 15:53:48

标签: c# asp.net-mvc razor

我有一个(简单的)ASP MVC视图:

<div class="row">
    <div id="dashboard-left" class="col-md-8">
        @using (Html.BeginForm("ConfigureOffers", "Offers", FormMethod.Post, new { enctype = "multipart/form-data" }))
        {
            @Html.AntiForgeryToken()
            <div style="padding-bottom: 10px;">
                <p style="font-size: large;"><strong>Available</strong></p>
            </div> 
            <div class="accordion" id="accordion2">
                <div class="widget" style="background:#fff !important">

                    @{
                        int i = 0;
                    }
                    @foreach (var prod in Model.allProducts)
                    {
                        <div class="accordion-group">
                            <div class="accordion-heading">
                                <a class="accordion-toggle" data-toggle="collapse" data-parent="accordion2" href="#collapse@(i)">
                                    <h4 class="widgettitle" id="QuickTitle">> @prod.Description_VC</h4>
                                </a>
                            </div>
                            <div id="collapse@(i)" class="accordion-body collapse" style="height: 0px;">
                                <div class="accordion-inner" style="margin-left: 10px;">
                                    <div style="padding-bottom: 10px;"><strong>Total product:</strong> @{
                                        for (int k = 0; k < Model.OfferHeaders.Count(); k++)
                                        {
                                            if (Model.OfferHeaders[k].Product_ID == prod.Product_ID)
                                            {
                                                @Html.TextBoxFor(o => o.OfferHeaders[k].Amount_DEC);
                                                break;
                                            }
                                        }
                                    }
                                    </div> @*prod div*@
                                </div> @*accordion-inner*@
                        @{i++;}
                            </div>
                        <div style="clear:both;"></div>                               
                     </div>
                    } 
                 <input type="submit" class="btn btn-default" value="Save Changes" />   
                </div> @*widget*@
            </div> @*accordion*@
           }
    </div>
    <!-- col-md-4 -->
</div>
<!--row-->

此视图的基础来自另一个(工作页面),但由于某种原因,单击“提交”按钮不会触发BeginForm元素中详细说明的服务器操作。我没有从Visual Studio中获得任何错误,也没有从浏览器控制台获得任何JavaScript错误,并且似乎没有任何事情发生在服务器端。

2 个答案:

答案 0 :(得分:0)

  • 行动未发生的一个可能原因主要是你放的时候 视图中的操作也创建了页面。但我想你 忘了提到控制器中的ActionResult

  • 另一种可能的选择是你必须使用[HttpPost] 控制器中指定ActionResult的方法

[HttpPost]
public ActionResult ConfigureOffers(ModelClass instance)
{
    ...
}

答案 1 :(得分:0)

其他可能的原因

  • 路线不正确
  • 表单操作属性不正确
  • 您正在使用嵌套的FORM标记