Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
阅读.cshtml中的ASP.net mvc下拉列表_Html_Asp.net_Asp.net Mvc_Knockout.js - Fatal编程技术网

阅读.cshtml中的ASP.net mvc下拉列表

阅读.cshtml中的ASP.net mvc下拉列表,html,asp.net,asp.net-mvc,knockout.js,Html,Asp.net,Asp.net Mvc,Knockout.js,我想有一个下拉列表,根据用户选择的国家填充不同的值 在my.cshtml文件中,我们通过绑定到枚举来创建一个下拉列表 @helper DropDownField(string binding, Type enumType) { <!-- ko with : @(binding) --> <div class="control-group" data-bind="css: { error: isInvalid }">

我想有一个下拉列表,根据用户选择的国家填充不同的值

在my.cshtml文件中,我们通过绑定到枚举来创建一个下拉列表

    @helper DropDownField(string binding, Type enumType)
    {
        <!-- ko with : @(binding) -->
        <div class="control-group" data-bind="css: { error: isInvalid }">
        <label class="control-label" for="@binding" data-bind="text: title">replace me</label>
        <div class="controls">
        <select id="@binding" name="@binding" data-bind="value: value">
            @{Dictionary<string, string> enumValues; }
                enumValues = EnumExtensionMethods.GetNameAndFriendlyNameDictionary(enumType);


            @foreach (KeyValuePair<string, string> kvp in enumValues)
                { 
                @:<option value="@kvp.Key">@(!String.IsNullOrWhiteSpace(kvp.Value) ? kvp.Value : "&nbsp;")</option>
            }
        </select>
        <span class="help-inline" data-bind="text: errorMessage"></span>
    </div>
</div>
<!-- /ko -->
}

也许下次做个JS小提琴

你的代码看起来有点复杂(我不太喜欢<!--ko),如果我要通过一个国家选择一个下拉列表,我会创建一个国家数组(显然),然后我会让你的第二个下拉列表成为可计算的。该计算将存储一个2D数组,一边是它所在的国家,另一边是数据,即

[{“澳大利亚”,“格迪伙伴”},{“澳大利亚”,“更多下拉列表!!”},{“美国”,“你好伙伴”},{“巴黎”,“法式面包非常好”}]

然后根据当时选择的国家/地区生成计算的筛选结果

然后,当选择一个国家时,您的计算结果将更新(因为在第二个下拉列表的启用字段中,您会将该国家设置为启用状态,因此在未选择任何国家时,它将被禁用),因此您将有一个最新的下拉列表

或者只需按照此处的教程进行操作,它们将向您展示如何操作;) ---


我不太确定它们有多好,因为我没有做过,但我看了一下,它们看起来不错

或者,如果你有一个pluralsight订阅第6轮结账:Manula订阅->汽车演示
    @DropDownField("country")                                 
    if ($('#country').val() == "US") {
        @DropDownField("state", typeof(StateType))                         
    } else {
        @DropDownField("state", typeof(ProvinceTypeCA))
    }