问题描述
网页有一图片按钮(日历选择按钮),没引用母版前,可以顺利触发JS函数,引用母版页后,按钮不但不能触发JS函数,还刷新页面并触发验证控件,求解。以下是母版、子页以及按钮相关的代码和图片:子页:<%@PageTitle=""Language="C#"MasterPageFile="~/MasterPage/MainProjectInspector.master"AutoEventWireup="true"CodeFile="BuyingApplicationInspector.aspx.cs"Inherits="XXXXXXXXX"%><asp:ContentID="head"ContentPlaceHolderID="head"Runat="Server"><scriptsrc="../JavaScript/jquery-1.4.1.js"type="text/javascript"></script><scriptsrc="../JavaScript/WebCalendar.js"type="text/javascript"></script><scriptsrc="../JavaScript/common.js"type="text/javascript"></script></asp:Content><asp:ContentID="BuyingApplication"ContentPlaceHolderID="MainContentHolder"Runat="Server">.......<inputid="Calendar"type="image"src="../images/calendar2_small.jpg"value="button"onclick="SelectDate(this.form.txtApplicationDate,'yyyy-MM-dd');returnfalse"style="width:20px;height:20px"align="top"/></asp:Content>母版页:<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title><linkhref="../Style/MainMaster.css"rel="stylesheet"type="text/css"/><asp:ContentPlaceHolderid="head"runat="server"></asp:ContentPlaceHolder></head><body><formid="form1"runat="server">.......<divid="MainContent"><asp:ContentPlaceHolderid="MainContentHolder"runat="server"></asp:ContentPlaceHolder></div></form></body></html>
解决方案
解决方案二:
这个要在IE中打开后,查看最终生成的代码是否存在问题.使用母版页面,子页的控件都会套在母版页中,控件ID会改变,应该使用ClientID获取.
解决方案三:
引用1楼tcmakebest的回复:
这个要在IE中打开后,查看最终生成的代码是否存在问题.使用母版页面,子页的控件都会套在母版页中,控件ID会改变,应该使用ClientID获取.
+1.Net中有Datepicker控件,为什么不直接用Datepicker?
解决方案四:
@tcmakebest生成页面后代码好像也没改变啊。。。。
解决方案五:
<inputid="Calendar"type="image"src="../images/calendar2_small.jpg"value="button"onclick="SelectDate(this.form.txtApplicationDate,'yyyy-MM-dd');returnfalse"style="width:20px;height:20px"align="top"/></asp:Content>这里的路径要改成URL的绝对路径。
解决方案六:
解决方案七:
在生成的页面查看源码,看看js路径是不是对的?
解决方案八:
应该是地址不正确把
解决方案九:
你是怎么引用的啊?
解决方案十:
@shoppo0505经查使用母版后,原来“日历按钮”确实ID改变,本人愚钝,仍然没解决问题:1、更改按钮图片为绝对路径后按钮图片消失,使用按钮仍刷新页面并激发验证;2、怎样使用clientID获取控件ID呢?应怎样表达onclick="SelectDate(this.form.txtApplicationDate,'yyyy-MM-dd');returnfalse"呢?3、我在vs2010里网页工具箱找不到datepicker控件,在哪里可以找到呢?还请各位指点。谢谢.
解决方案十一:
SelectDate这个方法写在哪儿的?如果是js文件,看看母板页生成的js引用的地址是否正确。
解决方案十二:
<inputid="Calendar"type="image"src="<%=ResolveUrl("~/images/calendar2_small.jpg")%>"value="button"onclick="SelectDate(this.form.txtApplicationDate,'yyyy-MM-dd');returnfalse"style="width:20px;height:20px"align="top"/>
<%=ResolveUrl("~/xxxx")%>这样可以解决了这个问题,在不同的目录自动生成相应路径
解决方案十三:
@sossos555问题依然没解决。我按你的代码转换为绝对引用,并改控件ID,或将控件引用名称直接改成生成页面后的名称,问题依然。这个是SelectDate的方法,是JS。这个是js在content里的引用原文和生成页面后的对比,显示是一样的,这个引用也需要改绝对引用吗?我是在母版的<head>里使用content,然后在页面插入引用。