【发布时间】:2014-01-11 18:20:27
【问题描述】:
我已经查看、尝试了几种不同的解决方案,但没有找到任何可行的方法(至少,没有与我想要遵循的示例足够接近的示例)。我确定我错过了一些对于更有经验的编码人员来说很简单的东西。帮助?
我有一个名为 Residents 的模型。它包括 ResidentID、PFName、PLName。我有一个居民控制器。我对居民有 CRUD 意见。一切正常。
我有一个名为 Logs 的模型。它包括 LogID、ResidentID、Comments。我有一个日志控制器。我有日志的 CRUD 视图。一切正常。
我可以显示居民的所有日志条目。工作正常。创建日志条目后,我可以使用方法显示 PFName
@Html.DisplayFor(model => model.Resident.PFName)
接下来,我想为选定的居民创建一个新的日志条目。
这就是我遇到问题的地方。我希望“创建”视图(用于日志)显示所选居民的 ResidentFName 和 ResidentLName,而不是 ResidentID。
此时,从居民的详细信息视图中,我有一个 CreateLog 链接。
@Html.ActionLink("New Log Entry", "../Log/Create", new { @ResidentID = Model.ResidentID})
这(可能不是最好的方法)给了我一个带有所选 ID 值的 URL
http://localhost:999/Log/Create?ResidentID=1
ResidentID 的值正确;它会根据选择的居民而变化。
这个值输入正确
@Html.TextBoxFor(model => model.ResidentID)
在新的 CreateLog 页面上使用 Log Controller Create 操作。
public ActionResult Create(int ResidentID)
我计划隐藏 ResidentID 文本框,以便用户看不到它。看来我必须以表格形式提供它才能创建新的日志条目。
CreateLog 表单目前的工作方式与我现在的一样。我可以创建一个日志条目并验证该条目是否已为居民正确记录。
但是,我希望表单显示居民的 PFName 和 PLName,以便用户可以看到选择居民的反馈。
我相信我想要的相关数据(PFName 和 PLName)必须以某种方式传递给 CreateLog 表单。我无法从表格中得到它。
由于 ResidentID 只有未保存的条目,因此我无法使用 CreateLog 表单中的值来显示相关数据。如前所述,对于列表,不存在这样的问题。它仅适用于 CreateLog。
我已尝试将数据添加到 URL。不工作。我尝试在控制器(和 URL)中设置字符串。不工作。我看过设置一个 cookie,但从来没有这样做过,所以不确定要设置什么,把它放在哪里,或者如何从中获取值。我已经研究过在控制器中设置一个变量......(可以显示下拉列表,但我不需要一个可供选择的列表——我想要相关表中的匹配值)。
Log.LogID(PK, Identity)
Log.ResidentID(FK)
Resident.PFName
Resident.PLName
我可以在我的 SQLDB 中直接使用这些表/字段创建一个视图并对其进行更新。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-5