C# 如何从下拉列表中选择默认值
这项工作现在需要用户选择一个下拉值。 如果当前值为空,如何将下拉选择的值设置为“Rate1”?(这是模态加载时的情况) 最后,设置@class=“form control”的状态 致: @class=“form control edited”当模式加载所选值时 我的下拉列表中有4个比率作为查找填充:C# 如何从下拉列表中选择默认值,c#,asp.net-mvc,C#,Asp.net Mvc,这项工作现在需要用户选择一个下拉值。 如果当前值为空,如何将下拉选择的值设置为“Rate1”?(这是模态加载时的情况) 最后,设置@class=“form control”的状态 致: @class=“form control edited”当模式加载所选值时 我的下拉列表中有4个比率作为查找填充: case "BillingRates": { strArrays = new string[] { "Rate1", "Rate2", "Ra
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;
}
然后,我的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);
我最终只是从上面替换了这个:
var selectedBillingRate=string.Empty代码>
为此:
var selectedBillingRate=“Rate1”代码>
而且它似乎按照要求工作
我意识到这可能不是最好的实现方法,@StephenMueke的方法是最好的实现方法,但是,我找不到正确的GET方法来设置BillingRate
的值。我不好,还在学习。再次感谢@StephenMuecke的评论并引导我进一步研究。DropDownList()
(以及首选的DropDownList()
)方法绑定到您的属性值。在将模型传递到视图之前,您需要在GET方法中设置BillingRate
的值(并且在绑定到模型属性时,设置SelectListItem
的Selected
属性将被忽略)@StephenMuecke谢谢,但是,您建议我最好在哪里执行此操作?我继承了这段代码,但我不确定在GET方法中设置BillingRate
值的位置或确切方法,以及正在进行的其他操作?再次感谢!您没有显示您的模型或GET方法,但假设您将其初始化为-var model=代码>(它填充模型的一些代码)然后,如果(model.BillingRate==null){model.BillingRate=someValue;};返回视图(模型)代码>如果在加载页面时提供视图和操作(表示模型为空)会更好
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);
@Html.DropDownList("BillingRate", BillingRateSelect, new { id = "BillingRate", required = "required", @class = "form-control" + (!string.IsNullOrEmpty(Model.Invoice.BillingRate) || !string.IsNullOrEmpty(selectedBillingRate) ? " edited" : "") })