当 select 来自下拉列表的值时,我想在 div 中显示它

when select value from dropdwonlist i want to show it in for example div

我在表单中有一个下拉列表和一个 div。我希望,当我 select 下拉列表中的一个值时,它会显示在 div 中。

我已经成功了,但问题是以下 select 离子,在第一个之后,正在从 div.

中删除以前的结果
public ActionResult SelectStudWhoWantReport(int StudentId = 0)
{
     IEnumerable<SelectListItem> items = db.Students.Select(c => new SelectListItem
            {
                Value = SqlFunctions.StringConvert((double)c.StudentID).Trim(),
                Text = c.StudentName
            });
     ViewBag.StudentId = items;
     Student WhomakeReport = db.Students.Find(StudentId);
     ViewBag.Name = WhomakeReport.StudentName;
     return View();
}

viewbag 是出现在 div 中的值,当我 select 时,如何将 second select 的值附加到 first select在 div.

中显示这两个

我认为您解决问题的方法很糟糕。

你正在通过我想的表单提交在你的控制器 class 上获得 selection 的结果,然后将它发送到你的视图。

问题是,当您调用控制器时,您的页面会重新加载,因此您丢失了之前的信息。您可以通过不同的方式存储以前的结果并在视图上构建它们。

但是,我认为我还是向您解释一个更正确的方法来解决这个问题更好。

您的视图中应该有一个下拉列表组件,您可以通过控制器加载该组件。我想你已经有了这个。

完成 selection 后,不是提交表单,而是 AJAX 调用服务器中的方法,使您当前在控制器中执行的操作(获取结果取决于 selected id),而不是 return 一个 ActionResult,只是 return 你想要的值。

当 AJAX 回调 return 时,您将在客户端代码中获得结果,因此您只需将其追加到之前的结果之后。

这种方法不仅从 MVC 模式的角度来看更好,而且更容易实现,并且允许您的用户访问下拉列表中的 select 个元素并查看结果,而无需重新加载整个页面.