相关疑难解决方法(0)

ASP.Net主页面和文件路径问题

我正在尝试在我的母版页中添加一个jQuery的脚本引用,以便它适用于任何页面.它目前看起来像这样

<script type="text/javascript" src="jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

问题是路径始终相对于正在执行的aspx页面,所以这只有在"jquery.js"文件位于同一文件夹中时才有效.为了使它工作,我必须将行更改为:

<script type="text/javascript" src="../../jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

这显然不太理想,因为它只适用于从根文件夹两层深的页面.如果我尝试以下操作,IIS会抛出有关意外字符的错误.

<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:我忘了也提到脚本必须在head标签中

当我将其添加到我的母版页时,当前的最佳答案会抛出" ASP.NET Ajax客户端框架无法加载. "错误.它是从javascript而不是.Net编译器抛出的.如果我将ScriptManager移动到应该是的head部分,我会收到有关需要在表单标记内的ScriptManager的编译错误.

第三个答案抛出了编译器中的" 路径中的非法字符. "异常

编辑2:当我将该行添加到我的head标签时,我从IIS中收到此错误.

无法修改Controls集合,因为控件包含代码块(即<%...%>)

已解决:我从下面的答案中获取了编辑后的响应,并将其放在asp:ContentPlaceHolder元素中

javascript asp.net jquery runatserver

77
推荐指数
3
解决办法
9万
查看次数

无法修改Controls集合,因为控件包含代码块(即<%...%>)

我试图在C#中创建动态元标记,但它给出以下错误:

无法修改Controls集合,因为控件包含代码块(即<%...%>)

这是我添加的代码:

HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = "book,paper";
Page.Header.Controls.Add(meta);
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

c#

55
推荐指数
2
解决办法
10万
查看次数

如何在asp.Net中的脚本标记上使用runat ="server"

我不一定需要在服务器上运行它,但是,我想使用~/js/somefile.js语法.

以前,我刚刚使用绝对路径设置了所有内容,并将我的项目设置为根级别.所以,我只是声明我所有的样式表,背景图片和javascript文件/css/somefile.css

但是,对于此项目,它不以root身份运行.

我不能加上runat="server"脚本标签.

不过,我可以把它放在链接标签上.

这必须是一个常见的问题,只有一些简单的答案.

asp.net relative-path script-tag runatserver

14
推荐指数
3
解决办法
1万
查看次数

存储CheckBoxList的DataValueField值在哪里?

我在页面上有这个CheckBoxList:

<asp:checkboxlist runat="server" id="Locations" datasourceid="LocationsDatasource"
   datatextfield="CountryName" datavaluefield="CountryCode" />
Run Code Online (Sandbox Code Playgroud)

我想使用Javascript遍历客户端上的复选框元素并获取每个选中复选框的值,但这些值似乎在客户端不可用.HTML输出如下所示:

<table id="ctl00_Content_Locations" class="SearchFilterCheckboxlist" cellspacing="0" cellpadding="0" border="0" style="width:235px;border-collapse:collapse;">
<tr>
    <td><input id="ctl00_Content_Locations_0" type="checkbox" name="ctl00$Content$Locations$0" /><label for="ctl00_Content_Locations_0">Democratic Republic of the Congo</label></td>
</tr><tr>
    <td><input id="ctl00_Content_Locations_1" type="checkbox" name="ctl00$Content$Locations$1" /><label for="ctl00_Content_Locations_1">Central African Republic</label></td>
</tr><tr>
    <td><input id="ctl00_Content_Locations_2" type="checkbox" name="ctl00$Content$Locations$2" /><label for="ctl00_Content_Locations_2">Congo</label></td>
</tr><tr>
    <td><input id="ctl00_Content_Locations_3" type="checkbox" name="ctl00$Content$Locations$3" /><label for="ctl00_Content_Locations_3">Cameroon</label></td>
</tr><tr>
    <td><input id="ctl00_Content_Locations_4" type="checkbox" name="ctl00$Content$Locations$4" /><label for="ctl00_Content_Locations_4">Gabon</label></td>
</tr><tr>
    <td><input id="ctl00_Content_Locations_5" type="checkbox" name="ctl00$Content$Locations$5" /><label for="ctl00_Content_Locations_5">Equatorial Guinea</label></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

无法找到值("cd","cg","ga"等).他们在哪?甚至可以在客户端访问它们,还是我需要使用转发器或其他东西自己构建这个复选框?

javascript asp.net

5
推荐指数
3
解决办法
1万
查看次数

可以在ASPX标记中进行内联代码吗?

是否可以在ASP.Net中以PHPish方式执行操作?我见过,<%= %>但我已经尝试过,无法让它发挥作用.

PHPish相当于我想要做的事情

<script src="<?php echo ResolveUrl("jquery/js/jquery.js"); ?>"></script>
Run Code Online (Sandbox Code Playgroud)

c# asp.net inline

3
推荐指数
1
解决办法
2174
查看次数

在ASP.Net WebForms中使用捆绑(来自Systelm.Web.Optimization)会导致问题

我试图通过在我的应用程序中使用我的应用程序进行一些优化.BundlesCollectionASP.Net 4.0

我的样式包包含6个css文件.这些文件包含在母版页中.如果我从母版页中删除CSS文件,而是放下以下内容:

<%= Styles.Render("~/bundles/css/default") %>
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)

asp.net bundling-and-minification asp.net-optimization

2
推荐指数
1
解决办法
1239
查看次数