Tôi biết điều này đã được yêu cầu trước đó, nhưng tôi đã tìm thấy một cách khác nhau để có được tham chiếu đến các điều khiển trong các tệp JS bên ngoài nhưng tôi không chắc chắn làm thế nào điều này sẽ đi xuống về tốc độ tổng thể.Có cách nào tốt hơn để đưa ClientID vào các tệp JS bên ngoài không?
Mã của tôi là
public static void GenerateClientIDs(Page page, params WebControl[] controls) {
StringBuilder script = new StringBuilder();
script.AppendLine("<script type=\"text/javascript\">");
foreach (WebControl c in controls) {
script.AppendLine(String.Format("var {0} = '#{1}';", c.ID, c.ClientID));
}
script.AppendLine("</script>");
if (!page.ClientScript.IsClientScriptBlockRegistered("Vars")) {
page.ClientScript.RegisterClientScriptBlock(page.GetType(), "Vars", script.ToString());
}
}
Đây là tôi có thể tham khảo các id của trang aspx trong các tập tin JS của tôi.
Có ai có thể thấy bất kỳ hạn chế nào để thực hiện công việc theo cách này không? Tôi chỉ mới bắt đầu sử dụng các tệp JS bên ngoài. Trước khi mọi thứ được viết vào chính UserControl.
Đó trông thật sự theo ý kiến của tôi – ichiban
Hãy chắc chắn rằng thẻ các yếu tố kịch bản của đang không ở trong bạn tệp .js - đó là HTML, không phải Javascript. – Anonymous
có, mã được tạo sẽ đi vào đầu ra HTML –