2016-09-06 5 views
0

Ich habe zwei Klassen:Url.Action() und verschachtelte Route Werte

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; } 
} 

Also, ich brauche Requisiten vorbei Url.Action Methode wie folgt:

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

Wie kann ich tun was ich möchte?

+0

Bitte beachten Sie, dass das Model-View-Controller-Tag für Fragen über das Muster ist. Es gibt ein bestimmtes Tag für die ASP.NET-MVC-Implementierung. –

Antwort

0

Es ist unklar, was Sie wollen. Wenn Sie Eigenschaften von Klasse zu Aktion übergeben möchten, können Sie Folgendes tun:

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 
+0

Ich möchte ein verschachteltes Objekt übergeben – Drake

+0

@Drake Sie können Ihre Eigenschaft an Action übergeben, um 'Url.Action (" Page "," Controller ", outerClass.NestedObject)'. –

Verwandte Themen