ResolveUrl无法内联工作

时间:2011-07-18 11:53:41

标签: asp.net

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

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

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

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

2 个答案:

答案 0 :(得分:33)

您无法同时使用<%#<%=。试试这样:

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

修改
如果您收到错误消息:

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

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

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

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

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

答案 1 :(得分:0)

您可以ResolveUrl使用Eval。无需外部代码。

<img src='<%# ResolveUrl(Eval("FILE_URL").ToString()) %>' alt=""
     style="width:50px;height:50px"/>