我有2个表:tblClient和tblActivity。
tblClient的主键是一个名为clientID的int。
tblActivity具有相同性质的外键(int clientID)
我要做的是为tblActivity Record创建一个Create View, 它捕获当前正在查看其活动列表并在表单中输入的客户的clientID。
我已经有了活动列表视图。
我一直在理解如何通过控制器中的Get
方法为我的视图发送int来解决问题,以及如何在我的视图中将@Html.hiddenFor
设置为捕获它并将其发送回Post
方法。
答案 0 :(得分:0)
为此视图创建视图模型
public class CreateActivity
{
public int ClientId { set;get;}
public string Title { set;get;}
}
现在在您的创建视图中,接受URL中的客户端ID,创建CreateActivity视图模型的对象,设置ClientId属性值并将其发送到视图。
public ActionResult Create(int id)
{
var vm = new CreateActivity { ClientId = id };
return View(vm);
}
现在在你看来
@model CreateActivity
@using(Html.BeginForm())
{
@Html.TextBoxFor(s=>s.Title)
@Html.HiddenFor(s=>s.ClientId)
<input type="submit" />
}
由于ClientId
存储在隐藏表单字段中,因此当您提交表单时,它将可用。
[HttpPost]
public ActionResult Create(CreateActivity model)
{
// check model.ClientId
// to do : Return something
}