2011-10-17 32 views
7

tôi có một bộ điều khiển và một hành động. hành động này là để lưu dữ liệu vào cơ sở dữ liệu. và bây giờ, tôi muốn khi tôi gửi một nút, bộ điều khiển của tôi làm một hành động và mở cửa sổ mới.Hành động điều khiển ASP.Net MVC 3 và mở cửa sổ mới

public ActionResult New(FormCollection collection) 
    { 

     data.Population_Code = collection["Countrys[0].CountryCode"]; 
     data.Population_Desc = collection["Countrys[0].CountryDesc"]; 
     data.Population_Grouping = collection["Countrys[0].CountryGroup"]; 
     data.Population_Type = "CNTRY"; 
     data.Population_Redudant = "N"; 
     data.Population_Modified_At = officeCode.User_Office.ToString(); 
     db.SaveChanges(); 

     //example for new window 
     //window.open('/Report/New.aspx') 

     return RedirectToAction("index"); 
    } 

để bộ điều khiển của tôi thực hiện hành động và mở một cửa sổ mới.

ai cũng có thể giúp tôi?

cảm ơn

Trả lời

16

Về mặt kỹ thuật, điều này có thể được thực hiện bằng cách trả lại javascript sẽ mở cửa sổ mới.

Tuy nhiên, hầu hết các trình duyệt sẽ giết một cửa sổ mới được gọi theo cách này (tức là trình chặn cửa sổ bật lên).

Bạn sẽ tốt hơn, nếu có thể, bằng cách mở liên kết đến hành động của bạn trong cửa sổ mới ngay từ đầu;

@Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"}) 

Sửa

tôi có thể nhìn thấy từ hành động của bạn, mà nó có lẽ là một hình thức tạo ra báo cáo; bạn cũng có thể sử dụng thuộc tính target='_blank' trên biểu mẫu.

+0

cảm ơn Matt, vâng đây là để hiển thị báo cáo. trên thực tế, tôi có báo cáo menu. nhưng bây giờ ông chủ của tôi nói với tôi để làm một cái gì đó như thế, bất cứ khi nào bộ điều khiển làm hành động mới nó sẽ hiển thị báo cáo trong một cửa sổ mới. và bây giờ, tôi đã nhầm lẫn làm thế nào để có được giá trị mà tôi đã thêm vào. xem chỉnh sửa –

+0

Có, bạn có thể sử dụng mẫu liên kết hành động để tạo liên kết menu của bạn. Thao tác này chỉ mở cửa sổ mới * trước khi * gọi hành động, sau đó có thể lưu dữ liệu và mở chế độ xem báo cáo. –

+0

cảm ơn tôi đã làm xong vấn đề của mình. tôi sử dụng cookie để lưu trữ batchId. –

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