asp.net-core - 如何获取模型属性值并将其分配给另一个模型属性
问题描述
在剃须刀页面上,我有两个模型 - 技术员和 tech_skill。我正在从用户那里收集技能数据并用它创建一个 tech_skill 记录,但我不想让用户在技术人员 ID 中输入 - 我想从技术人员对象中获取它。
在 cshtml.cs 文件 OnGet 事件中,我得到了技术人员 ID。然后我在那里创建技术人员对象。然后在 cshtml 页面上,我知道我有技术人员,因为我可以显示他们的名字和姓氏。
我曾尝试将技术人员 ID 存储在隐藏字段“Techs_Id”中,但我可以弄清楚如何在表单 method="post" 部分中使用该值。
抱歉,如果我没有很好地解释这一点。
@{
ViewData["Title"] = "Create";
}
<h2>Create Tech_Skill Record</h2>
<hr />
<div>
<h4>Technician</h4>
<h3>
</div>
@Html.Hidden("Techs_Id", Model.technician.TechnicianId)
<div class="row">
<div class="col-md-4">
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="tech_skill.Skill_Id" class="control-label"></label>
<input asp-for="tech_skill.Skill_Id" class="form-control" />
<span asp-validation-for="tech_skill.Skill_Id" class="text-danger"></span>
</div>
解决方案
对于 Razor 页面:
如果我理解正确,您需要“以某种方式发送”技术人员 ID 以向特定技术人员添加技术技能。在表单标签内,您需要一个将数据发布到剃须刀页面处理程序的按钮:
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="tech_skill.Skill_Id" class="control-label"></label>
<input asp-for="tech_skill.Skill_Id" class="form-control" />
<span asp-validation-for="tech_skill.Skill_Id" class="text-danger"></span>
</div>
<!-- and other code... -->
<button type="submit" asp-page="/writeYourPageNameHere" asp-route-id="@Model.technician.TechnicianId" >Save Skill</button>
</form>
您的 post 方法处理程序将如下所示:
public async Task<IActionResult> OnPostAsync(int id) //technicianId will be written in id
{
//you can use id here
return RedirectToPage("pageNameYouWantToRedirectTo");
}
当您按下按钮时,OnPostAsync
方法将被调用,您可以在此方法中做任何您想做的事情。
推荐阅读
- cocoapods - pod install 和 pod install --repo-update 有什么区别?
- php - WordPress 主题如何将 HTML 代码添加到管理页面
- excel - VBA从一张纸上获取信息并将其复制到另一张纸上
- typescript - 在 TypeScript 中将函数签名设置为自定义类型
- javascript - 滚动时标题抖动/颤抖 - jQuery 滚动问题
- java - 解密结果 128-aes-CBC 在 C 和 Java Cipher 中的 mbedtls 之间的差异
- mysql - SQL MySQL IN 运算符与表达式不是列
- r - 如何输出多维数组
- app-store - 在 iTunes Connect 中为 iAP 添加新的本地化(语言)是否需要(重新)批准 IAP?
- javascript - 如何在非模块脚本中注入 Webpack DefinePlugin 变量