当前位置:编程学习 > C#/ASP.NET >>

页面中使用了母版,外引调入脚本没有效果。

页面中使用了母版,外引调入脚本没有效果。如何引用脚本才能有效 --------------------编程问答-------------------- 脚本的链接对不对?
是怎样个无效法? --------------------编程问答-------------------- 在母板页中加。 --------------------编程问答-------------------- CHECK link PATH 是否对 --------------------编程问答-------------------- 可以在母版页添加,这样所有用到母版页的页面都可以使用,有好处也有坏处,根据需要选择

如果只想个别页使用那么这样
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

    <script src="Script/RequisitionPlan.js" type="text/javascript"></script>

</asp:Content> --------------------编程问答--------------------
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <script language="javascript" type="text/javascript" src="~/calendar.js" charset="gb2312"></script>
    
 ............<tr>
            <td style="width: 139px; height: 17px">
                <asp:Label ID="Label2" runat="server" Height="7px" Text="查询起始日期" Width="106px"></asp:Label></td>
            <td colspan="5" style="height: 17px">
                <asp:TextBox ID="TextBox1"     runat="server"></asp:TextBox> 
            </td>
        </tr>............



   protected void Page_Load(object sender, EventArgs e)
    {

       。。。。。。。。。        
        TextBox1.Attributes.Add("ongfoucs", "setday(this);");
    }
--------------------编程问答-------------------- <script src="Script/RequisitionPlan.js" type="text/javascript"></script>
只能这样写不能
<script src="Script/RequisitionPlan.js" type="text/javascript" /> --------------------编程问答-------------------- 没有实现TextBox1或得焦点时弹出日期选择 那位高手指点一下 --------------------编程问答-------------------- js日歷腳本引入到master page,我也實現不了,等待高手解決。
關注 --------------------编程问答-------------------- 不知道你们使用的是什么日期选择控件?有好用的吗推荐一下 --------------------编程问答-------------------- shadow841112(孤风) 好象不行 不使用母板的话是好用的,母板中脚本不知道怎么使用 --------------------编程问答-------------------- 路径应该用绝对路径吧。

用~可以表示为虚拟目录的根目录这一层 = http://localhost/web
用/表示的是整个网站的根目录,= http://localhost --------------------编程问答-------------------- 如果是路径不对 会有提出 --------------------编程问答-------------------- 可能是在母板下,原来的脚本有些地方代码出问题 不知道各位遇到过同样地问题吗?好像取ID有问题 --------------------编程问答-------------------- 试了很多方法。发现没用,还是把JS在母版页中引入。

大家都知道如果是在一般的ASPX页面,要获取控件只需要使用
Document.getElementById(ControlID);

就可以获取所需的控件了,不过如果是使用用户控件,然后在另一个页面调用此用户控件,那么直接使用上面的方法就获取不了用户控件页面里的子控件了,我想这应该是由于用户控件被另一页面调用,而其实并不属于那个页面的,所以每次用此方法获取时,都会提示“缺少对象”的错误。

在Master母版页的asp:content 里也会出现上述问题.

要在用户控件页面里要获取其里面的控件,可以用以下的方法:

var id = '<%=this. ControlID.ClientID%>';

如var id='<%=TextBox1.ClientID%>';

var Object=document.getElementById(id);

通过上面2句,就可以获取实际用户控件页面里的子控件了!

--------------------编程问答-------------------- shadow841112(孤风) 好象不行 不使用母板的话是好用的,母板中脚本不知道怎么使用

-----------------------------------------------------------------------------
我给你说的是引用脚本的方法,绝对没有问题。你现在出现的原因不是出现在引用上,是代码的编写上,模板页找控件ID不是直接的ID名,而是ct100_ContentPlaceHolder1_控件id

这个ct100_ContentPlaceHolder1_控件id不能手写,要从你当前页面的HTML源里拷贝过来,你运行网页后,点查看,然后查看源代码,找到那个控件,你会看到它的ID是ct100_ContentPlaceHolder1_控件id,把这个拷贝下来在JS里用,切记要拷,不能自己写。 --------------------编程问答-------------------- 都说用下面两行能解决了:
var id='<%=TextBox1.ClientID%>';
var Object=document.getElementById(id); --------------------编程问答-------------------- 我大多数都是在母版里调js,没发现什么问题。另外,在ASP.NET2.0中拖一个UpdatePanel控件,将你需要Ajax功能的东西包含在里面就可以实现Ajax了,根本不需要另外写js。 --------------------编程问答-------------------- 下面是js里的代码
function SetCheckedstate(state)

  
    var TreeView =  "<%=TreeView1.ClientID %>";
    var checkboxs = document.getElementById(TreeView).getElementsByTagName("INPUT");
    for(i=0;i<checkboxs.length;i++)
    {
      if(checkboxs[i].type == "checkbox" 
        &&  checkboxs[i].name.substr(0,TreeView.length) == TreeView)
      {
         checkboxs[i].checked =state;
      }
    }
}
调用代码
 <input id="Button2" type="button" value="全选"   onclick="SetCheckedstate(true)"/>
好像还是没有效果!但是上面的脚本直接写在页面上是好用的奇怪! --------------------编程问答-------------------- 而且在母板下不只是脚本有些不同! 传值也有问题!在母板下引用自定的控件 母板本身要接收一个参数,自定义控件也要接收一个参数!但是只能接收到前面的参数后面的参数接收不到!
如ManagerArea/RolePage.aspx?activeindex=0;pagename=角色管理 只能接收到前面的!不知道各位试过吗? --------------------编程问答-------------------- 关注中。。。。。。。。。 --------------------编程问答-------------------- 把母版子页中的服务器控件改为客户端控件就可以获取它的ID了。即没有runat="server"形式的控件。 --------------------编程问答--------------------
引用楼主 newsseasky 的回复:
页面中使用了母版,外引调入脚本没有效果。如何引用脚本才能有效


既然入门书上没有教,那么就自己看网文吧:http://www.google.com.hk/search?q=asp.net+RegisterClientScriptInclude&hl=zh-CN&newwindow=1&safe=strict&rlz=1I7GGLD_zh-CN&prmd=ivnsfd&source=lnt&tbs=lr:lang_1zh-CN%7Clang_1zh-TW&lr=lang_zh-CN%7Clang_zh-TW&sa=X&ei=OYVjTqymHsOjiAeq6LC1Cg&ved=0CAcQpwUoAQ&biw=1366&bih=712 --------------------编程问答-------------------- 注意,引用的js文件的路径,要使用 
this.ResolveUrl("~/scripts/abc.js")
 这种方式计算出来。 --------------------编程问答-------------------- 不懂  学习学习 --------------------编程问答-------------------- 自己测试下楼 用最简单的脚本 alert一下 --------------------编程问答-------------------- 在母板页中这么写

<script src= 'ResolveUrl("~/Script/RequisitionPlan.js")'   type="text/javascript" /> 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,