因此,我决定将拍卖行Web应用程序作为我的第一个asp.net mvc项目,但我无法弄清楚如何在属于不同控件的两个视图之间传递参数控制器。在第一种观点,AuctionHouseController的细节,我有:ASP.NET MVC在不同控制器的视图之间传递URL ID
<a class="btn btn-default" href="@Url.Action("Create", "Auctions", new { id = Model.ItemId })">Start Auction »</a>
和URL:http://localhost:2142/AuctionHouse/Details/123
这里是详细方法:
public ActionResult Details(int id)
{
var item = _auctionhDbc.Items.Find(id);
return View(item);
}
我想传递的ID部分URL - 按钮导向的视图中的“123” - 创建AuctionsController,其中包含:
<div class="form-group">
@Html.LabelFor(model => model.Item.ItemId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Item.ItemId, new { htmlAttributes = new { @class = "form-control", @Value = " " } })
@Html.ValidationMessageFor(model => model.Item.ItemId, "", new { @class = "text-danger" })
</div>
</div>
我想将“123”作为Html编辑器字段的默认值(@Value)。我怎样才能做到这一点?
删除'@Value =“”'代码。如果'Item.ItemId'的值是'123',那么它会自动添加。您需要显示您的'Details(int ID)'方法 –
@StephenMuecke public ActionResult Details(int id) { var item = _auctionhDbc.Items.Find(id); return View(item); } – CuriouS
编辑你的问题(不在评论中)。但是你的评论中的代码似乎没有设置属性'Item.ItemId'的值(并且视图中的模型是什么?根据你所显示的你需要的'item.Item.ItemId = id;'没有多大意义 –