2014-10-29 61 views
0

在我的视图模型中,我有一个字段。该字段可以从下拉列表中选择或输入到文本框中。我有两个单选按钮,允许在放置和文本框之间进行选择。将两个控件绑定到一个字段的ASP MVC

<div class="frm_row" id="contractorRow"> 
    @Html.RadioButton("IsContractorNew", "false", true) 
    @Html.Label(@Resources.SomeLabels.Existing) 
    @Html.RadioButton("IsContractorNew", "true", false) 
    @Html.Label(@Resources.SomeLabels.New) 
    <div class="frm_row_input" id="contractorDropDownList"> 
     @Html.DropDownListFor(model => model.CONTRACTOR, Model.Contractors) 
     @Html.ValidationMessageFor(model => model.CONTRACTOR) 
    </div> 
    <div class="frm_row_input" id="contractorTextBox" style="display: none;"> 
     @Html.TextBoxFor(model => model.CONTRACTOR) 
     @Html.ValidationMessageFor(model => model.CONTRACTOR) 
    </div> 
</div> 

我准备了一个javascript代码,用于在选择单选按钮时隐藏,显示和清除控件。问题是 - 字段仅限于第一个控件(下拉列表)。

编辑:

我通过创建一个隐藏字段和脚本整个逻辑来主动控制结合与它并因此与模型解决了这个问题。无论如何,如果有人知道更简单的解决方案,请张贴它。

回答

1

而不是使用剃刀@Html.TextBoxFor ...为您的文本框,您可以尝试使用原始HTML例如<input />。此外,在提交表单之前,您的JavaScript代码完全在单击单选按钮时从DOM中删除其他字段。

+0

谢谢。我有不同的想法 - 我决定为模型的字段放置一个隐藏字段,并将其与下拉列表和文本框有条件地绑定。无论如何,我很惊讶这是如此艰难。 – Landeeyo 2014-10-29 10:40:37

相关问题