我把
<SCRIPT LANGUAGE='JavaScript'>
var a = document.all("Label1").innerText;
alert("a");
</script>
直接写到ascx页面html中
然后替换各种
document.all("Label1").value;
document.getElementById(' <%= Label1.ClientID %>').value
document.getElementById(' <%= Label1.ClientID %>').innerText
也都是提示页面错误
获取不到Label1的值
<SCRIPT LANGUAGE='JavaScript'>
var a = document.all("Label1").innerText;
alert("a");
</script>
直接写到ascx页面html中
然后替换各种
document.all("Label1").value;
document.getElementById(' <%= Label1.ClientID %>').value
document.getElementById(' <%= Label1.ClientID %>').innerText
也都是提示页面错误
获取不到Label1的值
var a = document.getElementById("Label1").innerHTML;
alert("a");
</script>
换上这句运行页面也是提示页面有错误。
前台页面定义
<input type="hidden" id="infos" value=<%=lablevalue%>/>
后台
protect string lablevalue;
string lablevalue=this.Label1.Text
这样页面里的脚本就能取到了
document.getElementById("infos").value
或者是
document.aspnetForm.infos.value不过这样的话id="infos"必须该为name="infos"
{
protected Label Label1;
protected Label Label2;
protected Label Label3;
protected Label Label4;
private void ShowDetail(string id)
{
string[] str = new string[] { "id=" + id };
SqlConnection Conn = SqlConn.Instance().GetConnection();
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, "usp_getlist", str);
while (reader.Read())
{
this.Label1.Text = reader[0].ToString();
this.Label2.Text = reader[1].ToString();
this.Label3.Text = reader[2].ToString();
this.Label4.Text = reader[3].ToString();
}
reader.Close();
this.Page.RegisterStartupScript("","<SCRIPT LANGUAGE='JavaScript'> var a = document.getElementById(' Label1').innerText; alert('a');</script>");
catch
{
throw new ApplicationException("取信息错,请刷新");
}
finally
{
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
}
}
ClientScript.RegisterClientScriptBlock
<tr>
<td style="FONT-WEIGHT: bold; FONT-SIZE: 18px; FONT-FAMILY: 黑体; HEIGHT: 18px" width="32%"
height="18">姓名:</td>
<td style="HEIGHT: 18px">
<asp:label id="Label1" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="18px"></asp:label></td>
</tr>
<tr>
<td height="20">性别:
</td>
<td>
<asp:label id="Label2" runat="server"></asp:label></td>
</tr>
发布后源文件
<table cellSpacing="0" cellPadding="0" width="90%" align="center" border="0">
<tr>
<td style="FONT-WEIGHT: bold; FONT-SIZE: 18px; FONT-FAMILY: 黑体; HEIGHT: 18px" width="32%"
height="18">姓名:</td>
<td style="HEIGHT: 18px">
<span id="ViewDetail1_Label1" style="color:White;background-color:Blue;font-family:宋体;font-size:18px;font-weight:bold;">张建民 </span></td>
</tr>
<tr>
<td height="20">性别:
</td>
<td>
<span id="ViewDetail1_Label2">男 </span></td>
</tr>
看,原来的label已经变成了span。而且,id也因为你做的是ascx页面控件,所以,id产生了变化。获取ViewDetail1_Label1就能获取到label了
没有Page.ClientScript 属性
<SCRIPT LANGUAGE='JavaScript'>
var a = document.getElementById("ViewDetail1_Label1").innerHTML;
alert("a");
</script>
谢谢各位大虾啊
实现了!就是14楼说的问题
不过document.getElementById("ViewDetail1_Label1").innerHTML;不行
要用document.getElementById("ViewDetail1_Label1").innerText;