直接在页面嵌入js代码没问题
<script>
....
document.getElementById("<%=lblContenta.ClientID%>").innerHTML=content;
</script>
但是把代码放在yinuo.js中,在母版页调用了 <script type="text/javascript" src="js/yinuo.js"></script>
有执行js文件,但就是找不到document.getElementById("<%=lblContenta.ClientID%>"),对像为空,
直接在页面嵌入代码就没问题
<script>
....
document.getElementById("<%=lblContenta.ClientID%>").innerHTML=content;
</script>
但是把代码放在yinuo.js中,在母版页调用了 <script type="text/javascript" src="js/yinuo.js"></script>
有执行js文件,但就是找不到document.getElementById("<%=lblContenta.ClientID%>"),对像为空,
直接在页面嵌入代码就没问题
解决方案 »
- “/”应用程序中的服务器错误。求高手帮助一下我对.net不是很熟
- [低手求解]ajax无刷新提交中 LinkButton属性PostBackUrl问题
- HttpWebRequest的双向SSL问题
- ASP.NET的初学问题-----运行出错
- asp.net+c#如何获得硬盘的物理序列号???
- 用asp.net操作word,始终有winword.exe进程杀不掉。ZHANG9652(剑神独孤求败)大侠请进,关于编写组件控制word的思路。
- .net生成静态页面页面(html)后的代码乱怎么解决?
- c++组件在asp.net中使用的问题
- C#如何把加密的Excel批量导入sql数据库
- 关于无法创建asp.net web应用程序的问题
- 在aspx页面上实现如下效果:
- OdbcDataAdapter.Fill(myds, "test")向dataset中填充时发生错误,苦恼!不道是什么原因?
document.getElementById(" <%=lblContenta.ClientID%>")这样查找不到lblContent的控件
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript" src="js/yinuo.js"></script>
</asp:Content>
提示document.getElementById(" <%=lblContenta.ClientID%>")对象为空嵌入页面没问题
<script>
function getData(c_id)
{
AjaxMethod.GetContent(c_id,getCon);
}
function getCon(response)
{
if(response.value!=null)
{
var ds=response.value;
if(ds!=null&&typeof(ds)=="object"&&ds.Tables[0].Rows.length>0)
{
var content=ds.Tables[0].Rows[0].c_content;
var imgUrl=ds.Tables[0].Rows[0].c_picture;
document.getElementById("<%=lblContent.ClientID%>").innerHTML=content;
document.getElementById("<%=Image1.ClientID%>").src=imgUrl.replace("~/","");
}
else
{
alert("没搜索到数据");
}
}
else
{
alert("传值出错,重输入");
}
}
</script>
csslink.Attributes.Add("rel", "stylesheet");
csslink.Attributes.Add("media", "screen");
csslink.Attributes.Add("href", "style/style.css");
csslink.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(csslink);Page_Load中写
LiteralControl lc = new LiteralControl("<script type=\"text/javascript\" src=\"scripts/js1.js\"></script>");
Page.Header.Controls.Add(lc);注:Page_Load中
参考http://hi.baidu.com/flydragon1978/blog/item/e9d9b722d6f4f1f1d6cae2ed.html
Page.Header.Controls.Add(lc);
谢谢啊,还是不行
提示document.getElementById(" <%=lblContenta.ClientID%>")对象为空
找不到控件
找不到控件右键点击查看源代码就会生成这样的了ctl00_ContentPlaceHolder1_zhERP_Default_zhERP_TextBox1
onclick="document.getElementById('ctl00_ContentPlaceHolder1_zhERP_Default_zhERP_TextBox1').value= 'aaa';">这样写
还可以onclick="document.getElementById(" <%=TextBox1.ClientID %>").value= 'aaa';"> 你试试吧, <asp:TextBox id="TextBox1" runat="server" Text="1"> </asp:TextBox>
放在母版页面里面ID就会变了右键点击查看源代码你还是直接写类似这样的ID吧ctl00_ContentPlaceHolder1_zhERP_Default_zhERP_lblContenta
楼上正解,LZ试下![/color]
public string getMasterID
{
get
{
/* 判断有无母板页 */
if (this.Master != null)
{
/* 有母板页,先找ContentPlaceHolder */
objControl = this.Master.FindControl("你的母板页ID");
ContentPlaceHolder cph = (ContentPlaceHolder)objControl;
return cph.ClientID;
}
else
{
return ;
}
}
}
JS
document.getElementById('<%=getMasterID+"_"lblContenta.ClientID%>')
CS 定义一个属性
public string getMasterID
{
get
{
/* 判断有无母板页 */
if (this.Master != null)
{
/* 有母板页,先找ContentPlaceHolder */
objControl = this.Master.FindControl("你的母板页ID");
ContentPlaceHolder cph = (ContentPlaceHolder)objControl;
return cph.ClientID;
}
else
{
return "";
}
}
}
JS
document.getElementById(' <%=getMasterID+"_"lblContenta.ClientID%>') 注意属性必须为公有的
<%# DataBinder.Eval(Container.DataItem,"列名" )%>
或者
'<%# Eval("列名", "~/worktemplate/{0}") %>'
难道我只能查看源代码看控件的ID,document.getElementById('ctl00_ContentPlaceHolder1_lblContent').innerHTML=content;这样是没问题
没什么解决的办法吗啡~~~
{
get
{ /* 判断有无母板页 */
if (this.Master != null)
{
/* 有母板页,先找ContentPlaceHolder */
ContentPlaceHolder cph =(ContentPlaceHolder) this.Master.FindControl("ContentPlaceHolder1");
return cph.ClientID;
}
else
{
return "";
} }
取ID没问题,在JS中好像取不到属性<%=getMasterID%>的值,JS中怎么写
当然啦, js 又不会执行 asp.net 的 <%=lblContent.ClientID%> 代码。
<script>
function getData(c_id)
{
AjaxMethod.GetContent(c_id,getCon);
}
function getCon(response, contentID, imageID)
{
if(response.value!=null)
{
var ds=response.value;
if(ds!=null&&typeof(ds)=="object"&&ds.Tables[0].Rows.length>0)
{
var content=ds.Tables[0].Rows[0].c_content;
var imgUrl=ds.Tables[0].Rows[0].c_picture;
document.getElementById(contentID).innerHTML=content;
document.getElementById(imageID).src=imgUrl.replace("~/","");
}
else
{
alert("没搜索到数据");
}
}
else
{
alert("传值出错,重输入");
}
}
</script>
调用的时候加参数就够了getCon(response, contentID, imageID)
就可以获取里面的值了
LZ 可以使试试 setTimeout(" 执行的函数", 3000);
看看可以获取到对象不?目前没想到解决方案