简体   繁体   English

Url.Action()和嵌套的路由值

[英]Url.Action() and nested route values

I have two classes: 我有两节课:

    public class Class1
{
    public int Id { get; set; }
    public string Param1 { get; set; }
    public string Param2 { get; set; }
    public Class2 Class2 { get; set; }
}
public class Class2
{
    public int Id { get; set; }
    public int Class1Id { get; set; }
    public string Param3 { get; set; }
    public string Param4 { get; set; }
    public Class1 Class1 { get; set; }
}

So, I need to pass props by Url.Action method like this: 因此,我需要通过Url.Action方法传递道具,如下所示:

Url.Action("Page",new {Class2.Param1 = "some text" })

How can I do what I want? 我该怎么办?

It's unclear what you want. 不清楚你想要什么。 If you want to pass properties from class to Action you can do this: 如果要将属性从类传递给Action,可以执行以下操作:

public class Class1 {
    public string Ok { get; set; }
}

public class Class2 {
    private Class1 cls;

    public int Test { get; set; }

    public string Ok {
        get { return cls.Ok; }
        set { cls.Ok = value; }
    }

    public Class2(Class1 cls) {
        this.cls = cls;
    }
}

var cls = new Class2(new Class1 {
    Ok = "Text"
});
cls.Test = 3;
var s = Url.Action("Page", "Controller", cls); // Result: /Controller/Page?Test=3&Ok=Text

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM