0

私はここで頭を悩ませています...私のフォームには次のカミソリマークアップがあります:

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

私が経験している問題は、コントローラー アクション メソッドの FormCollection パラメーターに、キーと値のペアに SubmitButton が含まれていないことです。

同じ問題があったと思われるこの投稿をここで見つけました。解決策は、ActionMethodSelectorAttribute AND を使用して [Remote] 検証の使用を削除することのようです。しかし、[Remote] バリデーターが本当に必要なので、それを削除することはできません。他に解決策はありませんか、それとも対処しなければならないバグですか?

2 つのボタンの使用を 1 つの [保存] ボタンに置​​き換えてから、[投稿] チェックボックスを追加する必要があるという方針に沿って考えています。次に、コントローラー アクションで、Post KeyValue ペアの存在を確認します。しかし、これは単なるアイデアではありません。私は2つのボタンを使用することを好みます。

編集: Igor の要求に応じて、より多くのビュー マークアップ:

@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>
}
4

1 に答える 1

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>

キーインを確認し"SubmitButtonValue"ますFormCollection

于 2013-03-28T14:19:08.557 に答える