js复制问题,解决马上给分!

dada52020 2010-10-12 02:07:59
前台有个这样的标签
<asp:Label ID="OppidLabel" runat="server"></asp:Label>

在js里面
document.getElementById("OppidLabel").innerText = hyid;

在后台获取前台的label标签的text
int hyid = Convert.ToInt32(this.OppidLabel.Text);

值确定已经传进去了。hyid

查看源代码 <span id="ctl00_Contentplaceholder1_OppidLabel"></span>是这样的!

如过我是这样做<asp:Label ID="OppidLabel" runat="server" Text="10014"></asp:Label>

this.OppidLabel.Text就有值@

请问为什么this.OppidLabel.Text是个空值?
...全文
307 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 pyjhlovemoon 的回复:]
应该是这样的吧
document.getElementById("ctl00_Contentplaceholder1_OppidLabel").innerText = hyid;
[/Quote]

我js就是这样写的!
skyblackhole 2010-10-12
  • 打赏
  • 举报
回复
如果你是在cs中还想取到这个Label的值,只要Post了页面就是取不到值,但是你可以通过在后台的Page_Load中用这种方式注册某个取值的Button事件:
this.btnGetValue.Attributes.Add("OnClick", "javascript:getValue()");

在js中你就可以通过function getValue()取到OppidLabel的值。
personball 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 arthur080319 的回复:]

IspostBack
嗯哼?
[/Quote]
也有可能,页面刷新的话就会重置那个值为空
personball 2010-10-12
  • 打赏
  • 举报
回复
lz的 asp:label 的id被替换成了ctl00_Contentplaceholder1_OppidLabel
估计是放在其他控件里面,而且是动态生成了多个吧,情况比较复杂- -,没上下文不好处理
关键是 JS 能取到那个label (替换后变span?)
JS能取到,服务器端能使用(一般有runat server 就够了,复杂的控件嵌套要findcontrol之类,改变id更郁闷。)就没问题。。
personball 2010-10-12
  • 打赏
  • 举报
回复
在前端 js document.getElementById("OppidLabel") 这句下面加一句alert(document.getElementById("OppidLabel")),看看能不能取到那个标签
用asp控件,有时候替换改变id是比较郁闷的。。。
pyjhlovemoon 2010-10-12
  • 打赏
  • 举报
回复
应该是这样的吧
document.getElementById("ctl00_Contentplaceholder1_OppidLabel").innerText = hyid;
哒哒 2010-10-12
  • 打赏
  • 举报
回复
好有高手帮忙吗?
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 arthur080319 的回复:]
IspostBack
嗯哼?
[/Quote]

什么意思?
Arthur080319 2010-10-12
  • 打赏
  • 举报
回复
IspostBack
嗯哼?
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chen_ya_ping 的回复:]
这是应为你的在客户端改变了值,但是提交给了服务器,但是服务器并不知道这个值,那你可以一个hiddefield来存放这个值。然后就可以得到了。
[/Quote]

高手,hiddefield?是在js里面传值过去的时候用hiddefield?
我没用过hiddefield
chen_ya_ping 2010-10-12
  • 打赏
  • 举报
回复
这是应为你的在客户端改变了值,但是提交给了服务器,但是服务器并不知道这个值,那你可以一个hiddefield来存放这个值。然后就可以得到了。
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 q107770540 的回复:]
document.getElementById("OppidLabel").innerText = hyid;
======
document.getElementById(‘<%=OppidLabel.ClientID%>').innerText = hyid;
[/Quote]
首先,谢谢你,还是不行!
q107770540 2010-10-12
  • 打赏
  • 举报
回复
document.getElementById("OppidLabel").innerText = hyid;
======
document.getElementById(‘<%=OppidLabel.ClientID%>').innerText = hyid;
xlj_2008 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q107770540 的回复:]
<form>
<script>
//js代码
</script>
</form>
[/Quote]~~
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q107770540 的回复:]
<form>
<script>
//js代码
</script>
</form>
[/Quote]
写到里面去了。源代码还是<span id="ctl00_Contentplaceholder1_OppidLabel"></span>没有值
q107770540 2010-10-12
  • 打赏
  • 举报
回复
<form>
<script>
//js代码
</script>
</form>
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 juedaihuaihuai 的回复:]
楼上正解
[/Quote]

那不是要在页面上写代码了?
哒哒 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]
document.getElementById("OppidLabel").innerText = hyid;

把这段js放到<form>里
[/Quote]

请问是放到页面的form里面?
绝代坏坏 2010-10-12
  • 打赏
  • 举报
回复
楼上正解
q107770540 2010-10-12
  • 打赏
  • 举报
回复
document.getElementById("OppidLabel").innerText = hyid;

把这段js放到<form>里

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧