Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从下拉列表中选择默认值_C#_Asp.net Mvc - Fatal编程技术网

C# 如何从下拉列表中选择默认值

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

这项工作现在需要用户选择一个下拉值。 如果当前值为空,如何将下拉选择的值设置为“Rate1”?(这是模态加载时的情况)

最后,设置@class=“form control”的状态 致: @class=“form control edited”当模式加载所选值时

我的下拉列表中有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;
            }
然后,我的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" : "") })