C# 基于下拉选择MVC显示值
我有一个要求,我需要根据下拉选择显示详细信息。这些细节来自数据库。当我单击一个用户all时,必须显示属于该用户的所有详细信息 模型类C# 基于下拉选择MVC显示值,c#,.net,asp.net-mvc,asp.net-mvc-4,C#,.net,Asp.net Mvc,Asp.net Mvc 4,我有一个要求,我需要根据下拉选择显示详细信息。这些细节来自数据库。当我单击一个用户all时,必须显示属于该用户的所有详细信息 模型类 public class TaskDetails { public string ProjectID { get; set; } public string ProjectName { get; set; } public DateTime StartDate { get; set; } public DateTime Estima
public class TaskDetails
{
public string ProjectID { get; set; }
public string ProjectName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EstimatedDate { get; set; }
public string TaskDescription { get; set; }
}
控制器
List<SelectListItem> query = DE.tblEmployees.Select(c => new SelectListItem
{ Text = c.Name, Value = c.Name }).ToList();
ViewBag.Categories = query;
return View();
List query=DE.tblEmployees.Select(c=>newselectListItem
{Text=c.Name,Value=c.Name}).ToList();
ViewBag.Categories=查询;
返回视图();
查看
<div class="dropdown">
@Html.DropDownList("CategoryID", (List<SelectListItem>)ViewBag.Categories, "--User Name--")
</div>
@Html.DropDownList(“CategoryID”,(List)ViewBag.Categories,“--用户名--”)
在视图中,我正在加载下拉列表中的所有用户值。但是,当管理员选择任何一个用户时,用户的所有详细信息都必须显示在表下。到目前为止,我是完美的,但从这里开始,我被折磨了。如何前进如何根据下拉选择显示用户的详细信息。步骤
<div class="dropdown">
@Html.DropDownList("CategoryID", (List<SelectListItem>)ViewBag.Categories, "--User Name--")
</div>
控制器
public PartialViewResult GetUser(int id /* drop down value */)
{
var model = db.Users.find(id); // This is for example put your code to fetch record.
return PartialView("MyPartialView", model);
}
创建一个局部视图,它基本上是为用户详细信息绑定数据。例如,您创建了一个名为userDetails.cshtml的局部视图 在局部视图中添加模型引用,如下图所示 @为您的项目建模\u Name.ModalFolderName.TaskDetails 您需要在details部分视图中编写html代码来绑定数据 假设您的主视图中有一个div,其中包含id=“mydetailsTable”,您希望在下拉选择后加载用户详细信息数据 然后在下拉更改事件中调用一个ajax方法,获取数据并将其加载到mydetailsTablediv中。检查我下面的代码
$(".myDropdown").change(function() {
var id = $(this).val();
$.ajax({
type: 'GET',
url: '/ControllerName/GetUserDetails/'+id,
contentType: 'application/html; charset=utf-8',
datatype: 'html',
success: function (data) {
$('#mydetailsTable').html('');
$('#mydetailsTable').html(data);
})
});
请看,.myDropdown是我的下拉列表类。你需要补充
你的行动方法是这样的
public ActionResult GetUserDetails(int userId)
{
//fetch the data by userId and assign in a variable, for ex: myUser
return PartialView("userDetails",myUser);
}
就这样。希望有帮助:)您想在同一页还是在另一页中显示用户的详细信息?仅在同一页。然后您需要为详细信息数据创建部分视图。并在DropdownChange事件中调用ajax方法,在部分视图中获取数据和加载;这是什么用户..?例如,
db
is you datacontaxtusers
是表实体,find
是从表主键查找记录的linq方法。
public ActionResult GetUserDetails(int userId)
{
//fetch the data by userId and assign in a variable, for ex: myUser
return PartialView("userDetails",myUser);
}