Tôi đã có phần web trực quan (được tạo bằng mẫu standart Visual Stuido 2012 từ biểu mẫu "Thêm mục mới") chỉ với một phần tử <div id="newsListDiv" runat="server"></div>
. Tôi muốn lập trình thêm điều khiển người dùng của riêng tôi để nó sử dụng đoạn mã sau:Thêm điều khiển người dùng vào phần web trong Sharepoint 2013
protected void Page_Load(object sender, EventArgs e)
{
NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine;
newsListDiv.Controls.Add(newsLine);
}
Nhưng khi tôi triển khai các giải pháp và thêm phần web để trang nó cho thấy một trang lỗi, nói với tôi rằng các tập tin '/ _ControlTemplates/MainTheme/NewsLine.ascx 'không tồn tại. Nhưng nếu tôi nhìn vào thư mục "C: \ Program Files \ Common Files \ microsoft được chia sẻ \ Web Server Extensions \ 15 \ TEMPLATE \ CONTROLTEMPLATES \ MainTheme" Tôi có thể thấy rằng các tập tin có mặt ở đó. Tôi đã cố gắng đặt mức độ tin cậy thành "Đầy đủ" nhưng có cùng lỗi. Tôi cũng đã cố gắng thêm các điều khiển người dùng trong tập tin ascx như thế này:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>
<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>
Và cách mà một nhận được một lỗi biên dịch: "Cái tên 'InitializeControl' không tồn tại trong bối cảnh hiện nay". Tôi cũng nhận thấy rằng ngay sau khi tôi thêm dòng Đăng ký hoặc Tham chiếu (với đường dẫn đến điều khiển người dùng của tôi) vào tệp .ascx của tôi, tệp .g.cs sẽ trống! Và nó lại lấp đầy lần nữa khi tôi loại bỏ dòng đó. Tôi đã thử nhiều tác phẩm đường dẫn khác nhau như "../_controltemplates/", "/ controltemplates/15 /", v.v. Nhưng không ai trong số họ tạo ra bất kỳ sự khác biệt nào. Tôi đang tuyệt vọng ở đây, xin vui lòng giúp đỡ!
Đã thử rằng một quá, vẫn không có may mắn. Dường như với tôi rằng có một số vấn đề với công cụ tự động tạo tệp .g.cs. Đã cố gắng cài đặt lại VS, nhưng điều đó cũng không giúp được gì. Tôi quyết định không sử dụng UserControls cho bây giờ, nhưng tôi có một ý tưởng rằng nó có thể không hoạt động vì tôi tạo ra thư mục ControlTemplates trong VS không phải là một thư mục được ánh xạ. Gonna kiểm tra về điều đó sau ... – 4tuneTeller
Cùng một vấn đề ở đây, nhưng giải pháp làm việc! Thnx một tấn. – ChiYoung
Nó cũng làm việc cho tôi .. Cảm ơn rất nhiều :)! – Muhammedh