shareall 2015-05-04 02:14 采纳率: 0%
浏览 605

mvc4 drodowlist 不能设置选中项,且修改了数据源的数据?

图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 19:16
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在ASP.NET MVC中,当你尝试将<select>元素与<option>元素组合时,如果想使用JavaScript来改变选项的选中状态,你需要确保在<select>元素上添加onchange事件处理程序。这可以是通过JavaScript或者jQuery实现。

    首先,在HTML中为你的<select>元素添加一个onchange事件:

    <select id="mySelect">
        <option value="0">成人</option>
        <option value="1">儿童</option>
        <option value="2">婴儿</option>
    </select>
    
    <script>
        $(document).ready(function () {
            $('#mySelect').on('change', function () {
                // 在这里你可以根据选择的值进行操作,例如更新数据库或其他操作。
            });
        });
    </script>
    

    然后,在控制器或视图中处理这个事件:

    public ActionResult MyAction()
    {
        var passengerTypes = new List<SelectListItem>();
        if (ModelState.IsValid)
        {
            passengerTypes.Add(new SelectListItem { Text = "成人", Value = "0" });
            passengerTypes.Add(new SelectListItem { Text = "儿童", Value = "1" });
            passengerTypes.Add(new SelectListItem { Text = "婴儿", Value = "2" });
    
            ViewData["PassengerType"] = passengerTypes;
        }
    
        return View();
    }
    

    在这个例子中,当用户选择不同的选项时,onchange事件会被触发,并在控制器方法中更新ViewData对象中的PassengerType属性。这样你就可以在服务器端控制哪个选项被选中了。

    如果你想要直接修改数据源(即IList<SelectListItem>),可以在控制器方法中这样做:

    public ActionResult MyAction()
    {
        var passengerTypes = new List<SelectListItem>();
    
        if (ModelState.IsValid)
        {
            passengerTypes.Add(new SelectListItem { Text = "成人", Value = "0" });
            passengerTypes.Add(new SelectListItem { Text = "儿童", Value = "1" });
            passengerTypes.Add(new SelectListItem { Text = "婴儿", Value = "2" });
    
            ViewData["PassengerType"] = passengerTypes;
    
            // 修改数据源,例如更新到数据库
            // ...
        }
    
        return View();
    }
    

    请注意,这只是一个基本的例子。在实际应用中,你可能需要考虑更复杂的场景和错误处理。

    评论

报告相同问题?

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂