Asp.net mvc在一个动作链接中传递模型中的模型
本文关键字:模型 链接 一个 mvc net Asp | 更新日期: 2023-09-27 18:19:24
我在通过对象链接传递模型时遇到问题
这是我的模型
public class ItemImage
{
[Required,Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[DataType(DataType.ImageUrl)]
public string Url { get; set; }
[Required]
public int Width { get; set; }
[Required]
public int Height { get; set; }
}
public class UserItem
{
public UserItem()
{
Image = new ItemImage();
Private = true;
}
#region
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Required]
public string EAN { get; set; }
[Required]
public string Title { get; set; }
[Required]
[DataType(DataType.Date)]
public DateTime AddDate { get; set; }
[Required]
[DataType(DataType.Date)]
public DateTime PublishDate { get; set; }
[Required]
public string Publisher { get; set; }
[Required]
public string Binding { get; set; }
[EnumDataType(typeof(ItemType))]
public ItemType Type { get; set; }
[EnumDataType(typeof(ItemStatus))]
public ItemStatus Status { get; set; }
[Required]
public ItemImage Image { get; set; }
[Required]
public int Quantity { get; set; }
[Required]
public bool Private { get; set; }
#endregion
} // other properties
}
// the view code
@foreach (InventoryApp.Models.UserItem item in Model)
{
<tr>
<td>
@Html.ActionLink("Add To Library", "Add",item)
</td>
</tr>
}
//
[Authorize]
public ActionResult Add(UserItem item)
{
return RedirectToAction("Index");
}
下面是url(动作链接)的样子,你可以看到我嵌入的模型对象没有正确传递
Add/0?Image=InventoryApp.Models.ItemImage&
您正在使用的ActionLink
过载正在等待路由值。根据您的操作期望,像这样的操作应该可以工作:
@Html.ActionLink("Add To Library", "Add", new { Url = item.Url })
这是假设你的Add
动作期待一个字符串url。
另一方面,如果您希望将整个模型传递给操作,那是不可能的。