从ASP.NET webcontrol注入javascript

时间:2017-12-28 23:11:47

标签: javascript c# asp.net visual-studio web-controls

我正在创建一个ASP.NET webforms应用程序,我遇到了从Web控件将脚本注入页面的问题。该脚本与控件位于同一文件夹中:

Screenshot1

所以我想尝试:

[ToolboxData("<{0}:MyWebControl runat=server></{0}:MyWebControl>")]
[System.Drawing.ToolboxBitmap(typeof(MyWebControl))]
public class MyWebControl : Image
{

    //...

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);


        string scriptStr = "<script src=\"my_script.js\" type=\"text/javascript\">";
        ClientScriptManager csm = Page.ClientScript;
        csm.RegisterClientScriptBlock(this.Page.GetType(), "MyScriptTag", scriptStr);

        //...
    }

}

当我检查脚本是否成功注入时,Chrome会给我这个:

Screenshot2

我猜这个问题与script src=\"my_script.js\"有关,但我尝试长时间更改路径但没有成功。

期待一些帮助:)

1 个答案:

答案 0 :(得分:0)

您需要javascript文件的路径相对于用户控件在其中呈现的页面。我假设你的web项目中的index.aspx正在加载用户控件。将Scripts文件夹添加到Web项目并将javascript文件移动到那里。然后,将src更改为

src=\"/Scripts/my_script.js\"