如何添加相关数据MVC的链接

时间:2016-02-08 13:44:19

标签: asp.net-mvc relationship

我有客户模型

public class Customer
{
    public Customer()
    {
        this.SystemValues = new HashSet<SystemValue>();
    }

    public string Name { get; set; }
    public Nullable<System.Guid> GUID { get; set; }
    public int Id { get; set; }

    public virtual ICollection<SystemValue> SystemValues { get; set; }
}

和systemValue模型

public class SystemValue
{
    public int CustomerId { get; set; }
    public int SystemValueId { get; set; }
    public Nullable<int> SystemValueCategoryId { get; set; }
    public string SystemValueType { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public string TextValue { get; set; }
    public Nullable<int> IntValue { get; set; }
    public Nullable<double> FloatValue { get; set; }
    public byte[] BlobValue { get; set; }
    public Nullable<System.DateTime> DateTimeValue { get; set; }
    public Nullable<bool> BooleanValue { get; set; }
    public Nullable<int> LookupValueId { get; set; }
    public Nullable<int> LookupValueGroupId { get; set; }
    public Nullable<bool> IsReadonly { get; set; }
    public bool IsHidden { get; set; }
    public int Id { get; set; }

    public virtual Customer Customers { get; set; }
}

我可以在CustomerView(CustomersController)foreach客户中显示一个链接,该链接重定向到与此客户SystemValues相关的SystemValuesView(SystemValuesController)?

我发现了一种方法 - 使用parametr重定向到此控制器的操作。

public ActionResult ViewSystemValues(int? id)
    {
        return RedirectToAction("Index", "SystemValues", new {id});
    }

但我确信必须有更明智的方式。

1 个答案:

答案 0 :(得分:0)

 @for(int i = 0; i < Model.yourcustomerlist.Count(); i++)
                {
        <tr>
            <td>
                <a class="btn btn-primary" href="@Url.Action("Index", "SystemValues", new { id = Model.yourcustomerlist[i].CustomerId })">
   <b>Go to system values</b>
                </a>
            </td>
        </tr>
                }

我希望我能正确理解你。 此代码应放在视图中。视图应该强烈键入模型。

代码是指您希望按钮重定向到SystemValues控制器的索引视图,并将CustomerId作为输入。您应该将“yourcustomerlist”更改为包含客户信息的列表。如果它不是表格的一部分,请删除与表格相关的标记(<td><tr>)。