C# Asp.net MVC3在动作链接中的模型内传递模型
我在通过对象链接传递模型时遇到问题 这是我的模型C# Asp.net MVC3在动作链接中的模型内传递模型,c#,asp.net-mvc,url-parameters,C#,Asp.net Mvc,Url Parameters,我在通过对象链接传递模型时遇到问题 这是我的模型 public class ItemImage { [Required,Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [DataType(DataType.ImageUrl)] public string Url { get; set; } [Required] public
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>
}
下面是url(操作链接)的样子,因为您可以看到我的嵌入模型对象没有正确传递
Add/0?Image=InventoryApp.Models.ItemImage&代码>您正在使用的ActionLink
的重载需要路由值。根据您的操作预期,类似的操作应该会起作用:
@Html.ActionLink("Add To Library", "Add", new { Url = item.Url })
这是假设您的Add
操作需要一个字符串url
另一方面,如果您希望将整个模型传递给操作,那是不可能的。Hmm结束了故障,只传递了在服务器端重新创建模型对象所需的导入属性,然后将其添加到数据库中。
@Html.ActionLink("Add To Library", "Add", new { Url = item.Url })