【问题标题】:read ASP.net mvc Drop down list in .cshtml阅读 .cshtml 中的 ASP.net mvc 下拉列表
【发布时间】:2014-12-02 09:03:26
【问题描述】:

我希望根据用户选择的国家/地区填充不同的值的下拉列表。

在我的 .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 -->
}

然后我会根据选择的国家/地区显示适当的列表。当然,这是行不通的。我不确定可以用来检查国家/地区值的语法。

    @DropDownField("country")                                 
    if ($('#country').val() == "US") {
        @DropDownField("state", typeof(StateType))                         
    } else {
        @DropDownField("state", typeof(ProvinceTypeCA))
    }

【问题讨论】:

    标签: html asp.net asp.net-mvc knockout.js


    【解决方案1】:

    也许下次做一个 JS Fiddle...

    您的代码看起来有点复杂(我不太喜欢

    [{"Australia", "gday mate"}, {"Australia", "more dropdown stuff!!"}, {"America", "Howdy partner"}, {"Paris", "baguette are very nice "}]

    然后你根据当时选择的国家来计算过滤结果。

    然后选择一个国家的计算时,您的计算机将更新(因为在第二个下拉列表的“启用”字段中,您将把该国置于启用状态,因此在没有选择任何国家/地区时禁用它,因此您将有最新的状态下拉菜单

    或者只是按照这里的教程向您展示如何;) http://ryanrahlf.com/building-cascading-dropdowns-with-knockout-js/ --- http://ryanrahlf.com/building-cascading-dropdowns-with-knockout-js-part-2-working-with-flat-data/

    不太确定它们有多好,因为我没有做过,但我用眼睛盯着它们,它们看起来不错

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2014-01-01
    相关资源
    最近更新 更多