tôi phải làm điều đó và vì vậy tôi làm việc cho tôi:
Giả sử bạn có một bộ điều khiển gọi là Tóm tắt. Để thực hiện việc này, bạn không cần thêm hoặc sửa đổi bất kỳ hành động nào bạn có.
Sau đó, khi bạn nói với tôi, bạn thêm một file có tên "SkillReport.aspx" trong quan điểm của bạn một folder
Views/Summary/SkillReport.aspx
(ban đầu còn lại trong SkillReport.aspx trống hoặc chỉ cần thêm một số văn bản như "báo cáo kỹ năng")
Trong Global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Report", "Report/{rptController}/{rptName}", "~/Views/{rptController}/{rptName}.aspx");
...
}
**** -> tôi có atta ched ảnh chụp của giải pháp thám hiểm của tôi Tuyến đường của tôi.Mã ứng dụng mã là "routes.MapPageRoute (" Report "," Report/Summary "," ~/Views/Summary/SkillReport.aspx "); " Xin hãy đổi các mapPageRoute cho cấu trúc thư mục trên ** < -.
Các giá trị kèm theo trong {} là placeholders Bạn không phải cung cấp tên của bộ điều khiển. Khi một yêu cầu được nhận, tuyến này xác định bộ điều khiển nào cần gọi bằng cách thêm hậu tố "rptController" vào giá trị bộ điều khiển trong URL để xác định tên kiểu của bộ điều khiển sẽ xử lý yêu cầu.Giá trị rptName trong URL xác định WebForm.aspx nào để gọi.
Giả sử bạn cần hai báo cáo khác.
- Trong Tóm tắt điều khiển, và báo cáo tên FullNames
- Trong một bộ điều khiển tên sản phẩm, và báo cáo tên Danh sách.
Sử dụng thông số bạn tránh phải tạo lộ trình cho từng báo cáo.
routes.MapPageRoute("Report", "Report/{rptController}/{rptName}", "~/Views/{rptController}/{rptName}.aspx");
http://localhost/Report/Summary/SkillReport --> /Views/Summary/SkillReport.aspx
http://localhost/Report/Summary/FullNames --> /Views/Summary/FullNames.aspx
http://localhost/Report/Product/List --> /Views/Product/List.aspx
Mở tuyến đường này chúng tôi đã thêm:
"Báo cáo" là tên của tuyến đường này, bạn có thể đặt bất kỳ khác
"Báo cáo/{rptController}/{rptName} ": Đây là URL mẫu để xác định khi gọi Báo cáo-WebForm của bạn," Báo cáo "hoạt động như" khóa "và {rptController} là tên của bộ điều khiển. rptController sẽ được gán với tên Controller. Trong trường hợp này Tóm tắt và rptName với SkillReport
"~/Views/{} rptController/{} rptName .aspx" là đường dẫn vật lý. Khi sử dụng tuyến đường này với Tóm tắt điều khiển, và gọi SkillReport này sẽ gọi để xem/Tóm tắt/SkillReport .aspx
tài liệu Routing: http://msdn.microsoft.com/en-us/library/cc668201(v=vs.100).aspx#url_patterns
Tại thời điểm này bạn có thể xác minh rằng bạn có thể truy cập vào SkillReport.aspx trong môi trường phát triển của mình bằng cách sử dụng:
http://localhost/Report/Summary/SkillReport
Hoặc có thể tại một số cổng cụ thể ... như
http://localhost:1057/Report/Summary/SkillReport
Cuối cùng, SkillReport.aspx (như thế này ... kiểm tra ProcessingMode ...)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SkillReport.aspx.cs" Inherits="XXX.SkillReport" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=100"/>
</head>
<body>
<form id="frmRpt" runat="server">
<div>
<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="rpt" runat="server" Width="100%" Height="90%" AsyncRendering="false" ProcessingMode="Local" ShowRefreshButton="false">
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
Với thẻ này
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
bạn đạt được hiển thị đó trong Safari và các trình duyệt khác.
Để truy cập báo cáo từ VIEW (.cshtml) cần thêm liên kết. tôi. e. :
<a href="/Report/Summary/SkillReport" >Show My Report :) </a>
Như một lời nhận xét cuối cùng, tôi khuyên rằng sau khi tạo SkillReport.aspx nhập vào "Thiết kế Chế độ" và kéo từ hộp công cụ điều khiển của Báo cáo. Điều này sẽ tự động đăng ký các giá trị cần thiết trong web.config
@Mate .. Tôi đã cập nhật câu hỏi của mình trong giải pháp ur "-><-" –
Tôi hy vọng nó sẽ hữu ích. Vui lòng thêm bất kỳ câu hỏi/thay đổi nào khác. – Mate
@Mate .. Cảm ơn .. Tôi đã cập nhật câu hỏi khác trong giải pháp ur ở định dạng '-> Câu hỏi <-' –