2012-01-16 55 views
32

Tôi cố gắng để hiểu làm thế nào để sử dụng:Tôi có thể sử dụng Html.Action như thế nào?

@Html.Action("GetOptions",) 

Những gì tôi muốn làm là để vượt qua một cuộc gọi đến bộ điều khiển của tôi và vượt qua các thông số:

pk = "00" and rk = "00" 

Ai đó có thể giải thích làm thế nào tôi có thể làm điều đó với Html.Action

+0

GetOptions là gì? – Alex

Trả lời

37

Bạn nên xem tài liệu về phương pháp Action; nó được giải thích tốt. Đối với trường hợp của bạn, điều này sẽ làm việc:

@Html.Action("GetOptions", new { pk="00", rk="00" }); 

Tham số controllerName sẽ mặc định bộ điều khiển từ đó Html.Action đang được gọi. Vì vậy, nếu bạn đang cố gắng để gọi một hành động từ controller khác, bạn sẽ phải chỉ định tên điều khiển như vậy:

@Html.Action("GetOptions", "ControllerName", new { pk="00", rk="00" }); 
+0

Vui lòng cho tôi biết GetOptions là gì? nó là một phương pháp hành động? – Alex

+1

Có, đó là tên phương thức hành động. Tài liệu tôi liên kết giải thích chi tiết hơn. –

7

đầu tiên, tạo ra một lớp để giữ các thông số của bạn:

public class PkRk { 
    public int pk { get; set; } 
    public int rk { get; set; } 
} 

sau đó, sử dụng Html.Action đi qua các thông số:

Html.Action("PkRkAction", new { pkrk = new PkRk { pk=400, rk=500} }) 

và sử dụng trong điều khiển:

public ActionResult PkRkAction(PkRk pkrk) { 
    return PartialView(pkrk); 
} 
+2

Bạn có thể sử dụng lớp ẩn danh. – gdoron

+0

GetOptions là gì? nó là một phương pháp hành động? – Alex

+0

có, GetOptions là phương thức được xác định trong bộ điều khiển. –

Các vấn đề liên quan