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" : "") })
'DropDownList()'(和首选的'DropDownListFor()')方法绑定到您的属性的值。在将模型传递给视图之前,需要在GET方法中设置“BillingRate”的值(并且在绑定到模型属性时忽略“SelectListItem”的“Selected”属性) –
@StephenMuecke谢谢,但是,你会在哪里建议我最好这么做?我继承了这段代码,我不确定在GET方法中设置'BillingRate'的值和其他所有事情是怎么做的?再次感谢! – zberg007
你还没有展示你的模型或GET方法,但假设你将它初始化为 - 'var model = ...;(某些代码将它填充到模型中),那么你可以做一些类似if(model.BillingRate = = null){model.BillingRate = someValue; };返回查看(模型);' –