MVCHTML@Beginform+从布局视图提交具有现有隐藏字段值的表单



在我的share_Layout.cshtml视图中,我有一个隐藏字段,我想保留一个值以在多个页面中使用。现在,在其中一个页面中,我必须提交一个表单,该表单需要特定的hiddenfield值。我想我所需要的只是从我的_Layout.cshtml中传递hiddenfield值,但不确定如何分配它,下面的方法很有效,但我正在创建一个额外的hiddenfield,并用我的_Llayout.cshtml中的hiddenfield值分配它的值。

是否可以取消使用额外的隐藏字段?

谢谢。

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

ready事件执行此操作。以便在DOM加载完成后执行。

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

如果您想避免隐藏字段,并且希望在所有页面中都有此值,您可以考虑将值一次性存储在Session变量中,并在需要时在操作方法中访问它。

最新更新