【问题标题】:ASP.net MVC drop down value auto selectASP.net MVC 下拉值自动选择
【发布时间】:2015-05-21 21:50:49
【问题描述】:

有没有办法在表单加载时将下拉菜单设置为选定的值?这段代码在 ASP.net MVC4 中使用了 knockout.js

                    <select name="iResponseSource"
                        data-bind="options: sources,
                                optionsText: 'vchParameterDesc',
                                optionsValue: 'iParameterID',
                                optionsCaption: 'Select one...',
                                value: selectedResponseSource"
                        data-val="true"
                        data-val-required="Required."
                        class="form-control">
                    </select>

该值来自查询字符串属性(src),例如 www.mysite.com/site/?src=86643

【问题讨论】:

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


    【解决方案1】:

    您可以使用您的模型或 ViewBag 来存储一个值,并使用 Razor 语法打印该值:

    <select name="iResponseSource"
                        data-bind="options: sources,
                                optionsText: 'vchParameterDesc',
                                optionsValue: 'iParameterID',
                                optionsCaption: 'Select one...',
                                value: '@Model.SelectedResponseID'"
    

    【讨论】:

    • 我使用 selectedResponseSource 来验证使用 knockout.js 的某些规则。如果使用@Model.SelectedResponseID,我该如何调用我的验证规则。
    • 基本上,我需要在表单加载时设置一个默认值,并在下拉值更改时调用某些规则。
    【解决方案2】:
    <select name="iResponseSource"
                        data-bind="options: sources,
                                optionsText: 'vchParameterDesc',
                                optionsValue: 'iParameterID',
                                optionsCaption: 'Select one...',
                                value: defaultValue"
                        data-val="true"
                        data-val-required="Required."
                        class="form-control">
                    </select>
    

    如果是 javascript,在 JS 文件中 -

    var defaultValue = ko.observable('');
    
    defaultValue.subscribe(function (newValue){
        //Do validation
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多