2012-01-05 55 views
0

我有通过对象链接Asp.net MVC3传递一个动作链接模型中的模型

这里路过我的模型的问题是我的模型

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&amp;

回答

1

您正在使用的ActionLink的超载期望值为路由值。取决于你的行动期待,这样的事情应该工作:

@Html.ActionLink("Add To Library", "Add", new { Url = item.Url }) 

这是假设你Add动作期待一个字符串的URL。

另一方面,如果您期待通过您的整个模型的行动,这是不可能的。

+0

嗯结束了分解和传递只有导入属性我需要在他们的服务器端重新创建我的模型对象,并将其添加到数据库。 – nagates 2012-01-05 16:17:48

相关问题