在Url.Action属性上使用模型数据

时间:2012-10-12 22:27:11

标签: asp.net-mvc-3

我需要在表单标记(Html.BeginForm)中添加一个属性,该属性的值必须是编辑操作(ID)的参数。

我该怎么做?

这是我的行动代码:

    //
    // GET: /Panel/Partners/Edit/5

    public ActionResult Edit(int id)
    {
        var repository = new PartnersRepository();

        var data = repository.Find(id);

        return View(data);
    }

以下是表单标记的代码:

    @using (Html.BeginForm("Edit", "Partners", 
    FormMethod.Post, 
    new { 
        enctype = "multipart/form-data", 
        id = "partnersForm", 
        data_removelogo = @Url.Action("RemoveLogo", "Partners", new { Area = "Panel", id = Model.ID }) }
        ))

data_removelogo属性中的Url.Action不适用于Model.ID属性。

1 个答案:

答案 0 :(得分:1)

从您的评论中,您可能会将null模型传递到视图中。当您尝试访问空引用上的任何属性时,您将收到错误。您需要在控制器中确保不传入null模型,或者在视图中您需要逻辑来处理空模型,例如在访问id之前检查null。