ResolveUrl无法内联工作

Raj*_*mar 11 asp.net

我在asp.net 4.0中得到以下代码的错误

<script type="text/javascript" src='<%#=ResolveUrl("~/Scripts/jquery-1.4.1.js")%>'></script>
Run Code Online (Sandbox Code Playgroud)

错误消息:CS1525:无效的表达式术语'='

我在头标记的Site.Master中使用此代码

rsb*_*rro 33

不能使用<%#<%=在同一时间.试试这样:

<script type="text/javascript" src='<%= ResolveUrl("~/Scripts/jquery-1.4.1.js")%>'></script>
Run Code Online (Sandbox Code Playgroud)

编辑
如果您收到错误消息,指出:

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
Run Code Online (Sandbox Code Playgroud)

当您尝试使用时<%= ResolveUrl(...,这是因为代码中的某些内容试图将控件添加到Site.Master中的标头控件.如果是这种情况,请将脚本标记切换为:

<script type="text/javascript" src='<%# ResolveUrl("~/Scripts/jquery-1.4.1.js")%>'></script>
Run Code Online (Sandbox Code Playgroud)

并确保DataBind()在某个时刻调用header标记上的方法(例如,从Site.Master的Page_Load方法):

public partial class SiteMaster : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.Header.DataBind();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 打败我:)同样,如果你需要使用#然后它只是<%#Resolve,但你需要确保Page.DataBind(); 被称为某处. (3认同)