2017-07-28 4 views
0

Ich entwickle und ASP.NET MVC App mit C# und .NET Framework 4.7.Wie kann ich das deaktivierte Attribut bedingt hinzufügen?

Ich möchte bedingt deaktiviert Attribut hinzufügen:

<div class="group"> 
    @{bool isDisabled; } 

    @if ((Model.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId == "01") || 
     (Model.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId == "10")) 
    { 
     isDisabled = true; 
    } 
    else 
    { 
     isDisabled = false; 
    } 

    @Html.DropDownListFor(
     m => m.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId, 
     new SelectList(Model.variableDataItems, "Id", "Name", 
     Model.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId), 
     new { 
      @onchange = "OnChangeVariableDataId(this);", 
      data_level_index = @levelIndex, 
      data_list_index = @vDataIndex, 
      if (isDisabled) disabled 
     }) 
</div> 

Aber diese if (isDisabled) disabled funktioniert nicht.

Wie kann ich disabled Attribut bedingt hinzufügen?

+0

verweisen Sie bitte diese [Frage] (https://stackoverflow.com/questions/2089468/conditional-disable-html-dropdownlist). – fengqingtian

+0

Ein Hinweis auf Ihre kürzlich gelöschte Frage - höchstwahrscheinlich haben Sie einen Ordner in Ihrer App namens 'Reports' (Sie haben die Frage gelöscht, als ich sie gerade hinzufügte) –

+0

@StephenMuecke Danke. Ich habe die Frage gelöscht, weil es eine Diskussion geworden ist. – VansFannel

Antwort

0

Vielleicht können Sie versuchen, diese:

@Html.DropDownListFor(
    m => m.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId, 
    new SelectList(Model.variableDataItems, "Id", "Name", 
    Model.VariableDataList[levelIndex].VariableDataForLevel[vDataIndex].VariableDataId), 
    new { 
     @onchange = "OnChangeVariableDataId(this);", 
     data_level_index = @levelIndex, 
     data_list_index = @vDataIndex, 
     disabled = isDisabled ? "disabled" : "false" 
    }) 

Ich habe diesen Code nicht so getestet PLZ mich, ob es richtig ist.

Verwandte Themen