Рассмотрите возможность разработки веб-элемента управления (ASP. NET). Что вы действительно хотели бы сделать, так это стилизовать и развить этот элемент управления очень хорошим способом, вот очень хороший способ сделать это (именно так я бы хотел сделать, далее в этом вопросе я объясню, почему я не могу сделайте это).
1) Я создаю свой элемент управления в отдельной папке с именем WebControls
и назову его (например) MyWebControl
. У меня будут следующие файлы: MyWebControl.ascx
и MyWebControl.ascx.cs
.
2) Учитывая, что мой элемент управления является сложным элементом управления, я связываю стиль и динамическое поведение клиента ссылаясь в элементе управления html на таблицу стилей css с именем MyWebControl.ascx.css
и файл javascript с именем MyWebControl.ascx.js
.
3) В моем контроле я делаю следующее:
<%@ Control Language="C#"
AutoEventWireup="true"
CodeFile="MyWebControl.ascx.cs"
Inherits="MyApp.WebControls.MyWebControl" %>
<link href="MyWebControl.ascx.css" rel="stylesheet" type="text/css" />
<script src="MyWebControl.ascx.js" type="text/javascript"></script>
<div>
...
</div>
Вот и все!
В этом есть проблема: когда мой элемент управления отображается, и на странице есть несколько таких моих элементов управления, я получаю ссылки на файлы css и js дублируются или даже повторяются более одного раза.
Как связать внешний файл таблицы стилей / файл javascript в моем элементе управления, чтобы не возникали эти плохие вещи?
Хорошо, немного посмотрев с помощью других участников сообщества я смог понять, что Page.ClientScript
- это то, что приходит на помощь.
Однако есть много функций возможность регистрации скрипта ... можете ли вы отличить их?
1) Page.ClientScript.IsClientScriptBlockRegistered
2) Page.ClientScript.IsClientScriptIncludeRegistered
3) Page.ClientScript.IsOnSubmitStatementRegistered
4) Page.ClientScript.IsStartupScriptRegistered
И соответствующие методы набора?
1) Page.ClientScript.RegisterClientScriptBlock
2) 2)
Page.ClientScript.RegisterClientScriptInclude
3) Page.ClientScript.RegisterOnSubmitStatement
4) Page.ClientScript.RegisterStartupScript
Кроме того: можно ли это применить к javascript и css Thankyou?