C# 如何将ID传递到控制器并在具有相同视图的模式上显示它
我有一个由控制器填充的数据表: 控制器C# 如何将ID传递到控制器并在具有相同视图的模式上显示它,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个由控制器填充的数据表: 控制器 public ActionResult Index() { vm = new RIROViewModel(); vm.RIROUsers = new List<ResourceViewModel>(); foreach (var user in db_RIRO.sp_GetAllRIRORoster()) { vm.RIROUsers.Add(new ResourceViewModel()
public ActionResult Index()
{
vm = new RIROViewModel();
vm.RIROUsers = new List<ResourceViewModel>();
foreach (var user in db_RIRO.sp_GetAllRIRORoster())
{
vm.RIROUsers.Add(new ResourceViewModel()
{
EID = user.EID,
FirstName = user.FirstName,
LastName = user.LastName,
EmployeeType = user.EmployeeType,
ProjectName = user.ProjectName,
JobTitle = user.JobTitle,
Level = user.CareerLevel,
ACNRollOn = user.HireDate,
ManagerName = user.Manager,
LeadName = user.Supervisor,
UserID = user.UserID,
RollTypeValue = user.RollTypeValue
});
}
return View(vm);
}
以下是我尝试过的代码:
public ActionResult GetDetails(int id)
{
sp_GetUserDetails_Result result = db_RIRO.sp_GetUserDetails(id).FirstOrDefault();
ViewData["EID"] = result.EID;
return View(result);
}
我正在使用存储过程
sp_GetUserDetails
,它接受一个参数id
。如何将存储过程的结果传递给同一视图上的模态?将模态创建为局部视图。
更改标记元素以生成javascript帖子。
在post请求中将@userId变量作为参数传递。
使用控制器中的数据填充模态。
返回局部视图。
将局部视图插入容器中。
将容器显示为模态
[控制器]
public ActionResult GetModalPartialView(long UserId){
//map your db result to a view model.
var model = db_RIRO.sp_GetUserDetails(id).FirstOrDefault();
//return your view
return view("~/Views/Shared/_Modal.cshtml",model);
}
[Html]
<a href="#" onclick="getDataAndShowView(@UserId)">View Modal</a>
<div id="modal-container" style=display:none;></div>
@Url.Action
似乎不起作用。当我检查控制台时,它只打印url以及@url.Action
public ActionResult GetModalPartialView(long UserId){
//map your db result to a view model.
var model = db_RIRO.sp_GetUserDetails(id).FirstOrDefault();
//return your view
return view("~/Views/Shared/_Modal.cshtml",model);
}
<a href="#" onclick="getDataAndShowView(@UserId)">View Modal</a>
<div id="modal-container" style=display:none;></div>
function getDataAndShowView(UserId){
var data = {
UserId : UserId;
};
$.post("@Url.Action("GetModalPartialView","Controller")",data,function(resp){
$("#modal-container").html(resp);
$("#modal-container").modal("show");
});
}