【发布时间】:2021-09-19 22:48:41
【问题描述】:
我有一个用用户信息填写表单的 MVC 项目。记录后,它会获得一个与表单中所有详细信息相关联的唯一 ID。
然后,如果需要,我有一个页面可以编辑表单,它将 id 放入 url 并将 Id 分配给 Viewbag.Id。我正在尝试在 ajax 调用中使用 Id,然后从 web api 中提取其余信息,并使用已填写的详细信息填充字段。我的问题是我仍在学习 ajax,而不是 100% 地学习如何做到这一点。以下是我认为相关的内容。
我的控制器
[Route("EditUser/{id}")]
[CustomAuthorize(Roles = UserRole.Any)]
public ActionResult EditUserDetails(int id)
{
var userDetails = _slg_Entity.NewUser.FirstOrDefault(z => z.Id == id);
ViewBag.Id = userDetails.Id;
return View($"~/Views/Request/EditUser.cshtml");
}
我正在尝试执行以下操作:
$.ajax({
type: "GET",
url: "@Url.Action("UserDetails", "Api/Request")",
data: {
Id: "@ViewBag.Id" <--- ID passed to the api controller
}
}).done(function (data) {
$(".firstname").val(variable); <--- assign the data from api to field value
}).fail(function (error) {
displayError(error);
});
API 控制器:
[Route("UserDetails")]
[HttpGet]
[CustomApiAuthorize(Roles = UserRole.HR)]
public async Task<IHttpActionResult> GetUserDetails([FromUri] NewUserDetails existingUser)
{
var details = await _slg_Entity.NewUser.FirstOrDefaultAsync(z => z.Id == existingUser.Id);
existingUser.FirstName = details.FirstName;
return Ok(details);
}
不确定我是在附近还是在球场,所以欢迎任何建议! 谢谢。
【问题讨论】:
-
是您问题中的代码不起作用的问题,还是关于如何完成此处未显示的内容的问题? BR
-
@RoarS,更重要的是我是否走在正确的道路上。我现在没有得到任何东西,所以代码不起作用。基本上是在寻找一些有助于解决此问题的指针或文档。
标签: javascript c# ajax api