标记ASP.NET自定义控件需要JS库的好方法是什么

时间:2013-01-16 20:35:52

标签: javascript asp.net custom-controls

正如问题所说,我正在开发一个自定义的asp.net控件,我需要让用户知道它需要在页面上引用几个JS库。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:0)

  1. 评论
  2. 使用您的asp.net控件和所需的JavaScript库创建一个nuget包。
  3. 我会投票给第二个选项,但我也大量使用nuget。

答案 1 :(得分:0)

除了文档之外我不会提出任何建议,但是如果你确实需要它,你可以在头文件中检查依赖JS对象(在应该插入依赖JS之后),并相应地提醒用户。如;

if (typeof someDependencyObject === 'undefined')
{
    alert("someDependencyObject is required with SomeASP-NET Control.");
}

但更好的方法是使用ClientScript.RegisterClientScriptBlock在自定义控制代码中注册自己的脚本。

<script runat="server">
    public void Page_Load(Object sender, EventArgs e)
    {
        String jsName = "MyCustomScript";
        Type type = this.GetType();

        // Register the script if not already registered.
        if (!Page.ClientScript.IsClientScriptBlockRegistered(type, jsName))
        {
            StringBuilder js = new StringBuilder();
            js.Append("<script type=\"text/javascript\">");
            js.Append("function someFunc() {  } ");
            js.Append("</script>");
            Page.ClientScript.RegisterClientScriptBlock(type, jsName, js.ToString());
        }
    }
</script>

请参阅documentation here

答案 2 :(得分:0)

在DOM完全加载后检查是否存在所需的库:

function init() {
    if(!jQuery) {
        alert('This control requires jQuery');
    }
}

window.onload = init;

上面的代码会给你一个想法。修改以满足您的需求。