2017-03-05 297 views
0

現在這個功能需要用戶選擇其中一個下拉值。 如果當前值爲空,如何將下拉選擇的值設置爲「Rate1」? (這是它是如何在模態負載)如何從下拉菜單中選擇一個默認值

,最後,設置@class =「形式控制」 到狀態: @class =「形式控制編着的」當與所選擇的模態負載值?

我有這樣的作爲查找與4分率填寫我的下拉:

case "BillingRates": 
      { 
       strArrays = new string[] { "Rate1", "Rate2", "Rate3", "Rate4" }; 
       for (i = 0; i < (int)strArrays.Length; i++) 
       { 
        string str4 = strArrays[i]; 
        lookups.Add(new Lookup() 
        { 
         Text = str4, 
         Value = str4, 
         TenantId = currentTenantId, 
         Selected = false, 
         Disabled = false, 
         Group = null, 
         AssociatedClass = string.Empty 
        }); 
       } 
       break; 
      } 

我也用這個的foreach來查找BillingRates的下拉列表:

foreach (Lookup lookupItem in (new LookupFill("BillingRates", num)).LookupItems) 
     { 
      SelectListItem selectListItem3 = new SelectListItem() 
      { 
       Text = lookupItem.Text, 
       Value = lookupItem.Value, 
       Disabled = lookupItem.Disabled, 
       Selected = lookupItem.Selected 
      }; 
      selectListItems5.Add(selectListItem3); 
     } 
     SelectListItem selectListItem4 = new SelectListItem() 
     { 
      Text = "", 
      Value = "", 
      Disabled = false 
     }; 

然後,我有這個在我的變量的cshtml文件:

var selectedBillingRate = string.Empty; 
var BillingRates = ViewData["BillingRates"] as IEnumerable<SelectListItem>; 
foreach (var item in BillingRates) 
{ 
    if (item.Value == Model.Invoice.BillingRate) { selectedBillingRate = item.Value; break; } 
} 
var BillingRateSelect = new SelectList(BillingRates, "Value", "Text"); 


var selectedBillingRate = '@Html.Raw(selectedBillingRate)'; 
     $('#BillingRate').val(selectedBillingRate); 

最後,我有這個作爲我的DropDownList:

@Html.DropDownList("BillingRate", BillingRateSelect, new { id = "BillingRate", required = "required", @class = "form-control" + (!string.IsNullOrEmpty(Model.Invoice.BillingRate) || !string.IsNullOrEmpty(selectedBillingRate) ? " edited" : "") }) 
+0

'DropDownList()'(和首選的'DropDownListFor()')方法綁定到您的屬性的值。在將模型傳遞給視圖之前,需要在GET方法中設置「BillingRate」的值(並且在綁定到模型屬性時忽略「SelectListItem」的「Selected」屬性) –

+0

@StephenMuecke謝謝,但是,你會在哪裏建議我最好這麼做?我繼承了這段代碼,我不確定在GET方法中設置'BillingRate'的值和其他所有事情是怎麼做的?再次感謝! – zberg007

+0

你還沒有展示你的模型或GET方法,但假設你將它初始化爲 - 'var model = ...;(某些代碼將它填充到模型中),那麼你可以做一些類似if(model.BillingRate = = null){model.BillingRate = someValue; };返回查看(模型);' –

回答

0

我最終只是從上面這個替換: var selectedBillingRate = string.Empty; 本: var selectedBillingRate = "Rate1"; ,似乎爲要求的工作。

我意識到這可能不是最好的方式來實現和@ StephenMueke的方式是最好的方式來做到這一點,但是,我找不到正確的GET方法來設置BillingRate的值如預期。我的壞,仍然在學習。再次感謝@StephenMuecke發表評論並引導我進一步研究。

相關問題