2013-03-28 59 views
0

我在我束手無策這裏...我有我的形式如下剃刀標記:多個提交按鈕表格出現都不在ASP.Net MVC中的FormCollection方法

<input class="k-button" type="submit" value="Post" name="SubmitButton" /> 
<input class="k-button" type="submit" value="Save" name="SubmitButton" /> 

我的問題經驗是控制器操作方法的FormCollection參數在其鍵/值對中不包含SubmitButton。

我碰到過這個帖子here,似乎有同樣的問題。該解決方案似乎是使用ActionMethodSelectorAttribute並刪除[Remote]驗證的使用。但是我確實需要我的[Remote]驗證器,所以它不是我的選擇。有沒有其他的解決方案,或者這只是我需要處理的一些錯誤?

我正在考慮必須用一個保存按鈕替換兩個按鈕的使用,然後添加一個「Post」複選框。然後在控制器操作中,我檢查是否存在Post KeyValue對。但這不是想法。我更喜歡使用兩個按鈕。

編輯:

@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(false) 
    <fieldset> 
     <legend>Edit details for Client Warehouse Request </legend> 
     @Html.HiddenFor(model => model.ModelObject.CustomerCode) 
     @Html.HiddenFor(model => model.ModelObject.ReqNr) 

     <div style="table-layout: initial;"> 
      <div class="columnDivider"> 
       <div class="editor-label"> 
        @Html.LabelFor(model => model.ModelObject.ReqNr) 
       </div> 
       <div class="editor-field"> 
        @Html.DisplayFor(model => model.ModelObject.ReqNr) 
       </div> 
       <div class="clear"> 
       </div> 
       <div class="editor-label"> 
        @Html.LabelFor(model => model.ModelObject.CreationDate) 
       </div> 
       ... many other fields following the above structure... 
       <input class="k-button" type="submit" value="Post" name="SubmitButton" /> 
       <input class="k-button" type="submit" value="Save" name="SubmitButton" /> 
      </div> 
      <div class="columnDivider"> 
       ...some more fields 
      </div> 
      <div> 
       Here I have a Kendo UI datagrid that gets submitted with the form 
      </div> 
     </fieldset> 
} 
+0

你可以顯示窗體和按鈕的視圖標記(如果可能,簡化)? – Igor

回答

0

搜索:

<input type="hidden" name="SubmitButtonValue" id="SubmitButtonValue" /> 

<input class="k-button" type="submit" value="Post" name="SubmitButton" /> 
<input class="k-button" type="submit" value="Save" name="SubmitButton" /> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $(".k-button").click(function(){ 
     $("#SubmitButtonValue").val($(this).val()); 
    }); 
    }); 
</script> 

併爲您在FormCollection"SubmitButtonValue"鍵下面伊戈爾的要求更視圖標記。