我在asp.net 4.0中的以下代码中收到错误
<script type="text/javascript" src='<%#=ResolveUrl("~/Scripts/jquery-1.4.1.js")%>'></script>
错误消息:CS1525:无效的表达式术语'='
我在Head标记的Site.Master中使用此代码
答案 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"/>