0

私の共有 _Layout.cshtml ビューには、複数のページで使用する値を保持する隠しフィールドがあります。ページの 1 つで、特定の hiddenfield 値を必要とするフォームを送信する必要があります。必要なのは _Layout.cshtml から hiddenfield 値を渡すことだけだと思っていましたが、それを割り当てる方法がわかりませんでした.私の_Layout.cshtml。

追加の隠しフィールドの使用をなくすことは可能ですか?

ありがとう。

<script type="text/javascript">
    ($('#p1').val($('#playerChoice_1').val()));
</script>

    @using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "LoadThankYou()" }))
        {
            @Html.ValidationSummary(true)
            <fieldset >

                <div style="FILTER:" class="fb-grouplabel fb-item fb-100-item-column">
                    @Html.LabelFor(model => model.Name)
                </div>
                <div class="fb-input-box editor-field">
                    @* <input id="item7_text_1" class="" name="text7" maxlength="254" placeholder="Enter your name"
                                       autocomplete="off" data-hint="" type="text" />*@
                    @Html.EditorFor(model => model.Name)
                    @Html.ValidationMessageFor(model => model.Name)
                </div>               

                <div style="FILTER:" class="fb-grouplabel fb-item fb-100-item-column">
                    @Html.LabelFor(model => model.Email)
                </div>
                <div class="fb-input-box editor-field">
                    @Html.EditorFor(model => model.Email)
                    @Html.ValidationMessageFor(model => model.Email)
                </div>

                <div style="FILTER:" class="fb-grouplabel fb-item fb-100-item-column">
                    @Html.LabelFor(model => model.Contact)
                </div>
                <div class="fb-input-box editor-field">
                    @Html.EditorFor(model => model.Contact)
                    @Html.ValidationMessageFor(model => model.Contact)
                </div>

                <div style="FILTER:" class="fb-grouplabel fb-item fb-100-item-column">
                    @Html.LabelFor(model => model.PersonalID)
                </div>
                <div class="fb-input-box editor-field">
                    @Html.EditorFor(model => model.PersonalID)
                    @Html.ValidationMessageFor(model => model.PersonalID)
                </div>

                <input type="hidden" id="p1" name="Choice_1" />

                <div style="MIN-HEIGHT: 1px" id="fb-submit-button-div" class="fb-item-alignment-left fb-footer">
                    @* <input style="BACKGROUND-IMAGE: url(theme/default/images/btn_submit.png)"
                            id="fb-submit-button" class="fb-button-special" type="submit" value="Submit" />*@
                    <input type="submit" value="Submit" />
                </div>
            </fieldset>
        }
4

1 に答える 1

2

イベントでそれを行いreadyます。DOMのロードが完了した後に実行されるようにします。

<script type="text/javascript">
  $(function(){
     $('#p1').val($('#playerChoice_1').val());
  });
</script>

非表示フィールドを避けたい場合で、すべてのページにこの値が必要な場合は、セッション変数に値を1回格納し、必要に応じてアクションメソッドで値にアクセスすることを検討してください。

于 2012-09-14T13:29:12.337 に答える