难解的js 问题

eyuanliang 2009-07-20 11:23:04
代码如下: <asp:DataList runat="server" ID="dtl_order">
<ItemTemplate>
<tr>
<td><a href="ClientOrDetail.aspx?ClientID=<%=clientid %>&OrderID=<%# Eval("OrderID")%"> 查看详情</a></td>
<td width="60" height="25" align="center">
<input type="Button" value="修改" OnClick="locking('<%# Eval("OrderID") %>');" style="border-style:none"/</td>

</tr></ItemTemplate></asp:DataList>

< div style="display:none">//隐藏项 使后台得到 <%# Eval("OrderID") %>
<asp:TextBox id="order_ID" runat="server" />
<asp:Button ID="Hidden" runat="server" OnClick="Button1_Click" />
</div>

js 如下:
function locking(id){
alert(id);//正常显示
document.getElementsByTagName("*") .ly.style.display="block";
document.getElementsByTagName("*") .ly.style.width=document.body.clientWidth;
document.getElementsByTagName("*") .Layer4.style.display='block';
document.getElementsByTagName("*") .Layer4.style.top="20px";
//前面4行是弹出一个 div 修改层

document.getElementById("ctl00_ContentPlaceHolder1_order_ID").value=i;//
为隐藏项 order_ID 赋值 如果改为 order_ID 后面的都没反映
alert(document.getElementById("ctl00_ContentPlaceHolder1_order_ID").value);//显示正常
document.getElementById("ctl00_ContentPlaceHolder1_Hidden").click;
可以通过编译 但是后台没反映,如果改为 Hidden 下面的alert 没反映

alert(111);//显示正常

}

我的问题是 为什么给服务器控件赋值 要写这样的id " ctl00_ContentPlaceHolder1_order_ID" 生成html后查看源代码得到的,如果改成order_ID 后面的都没反映了 ,
2 后台怎么没反映
protected void Button1_Click(object sender, EventArgs e){
Response.Write("<script>alert()</script>");
}
...全文
74 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
eyuanliang 2009-07-20
  • 打赏
  • 举报
回复
现在改成 document.getElementById(" <%=order_ID.ClientID %>").value=1;
可以了
但是为什么 后台还是没反映呢

document.getElementById(" <%=Hidden.ClientID %>").click;

cs: protected void Button1_Click(object sender, EventArgs e)
{
string orderid = order_ID.Text;
Response.Write(" <script>alert() </script>");
}
eyuanliang 2009-07-20
  • 打赏
  • 举报
回复
document.getElementById(" <%=Hidden.ClientID %>").click; 后台代码没有反映

<asp:Button ID="Hidden" runat="server" OnClick="Button1_Click" />

cs: protected void Button1_Click(object sender, EventArgs e)
{
string orderid = order_ID.Text;
Response.Write("<script>alert()</script>");
eyuanliang 2009-07-20
  • 打赏
  • 举报
回复
之前 这样 document.getElementById("ctl00_ContentPlaceHolder1_order_ID").value=i;
alert(document.getElementById("ctl00_ContentPlaceHolder1_order_ID").value); 会显示
现在改了 document.getElementById(" <%=order_ID.ClientID %>" ) 下面的都没反映了
hanbb1982 2009-07-20
  • 打赏
  • 举报
回复
document.getElementById("<%=order_ID.ClientID %>").value=i;// 为隐藏项 order_ID 赋值 如果改为 order_ID 后面的都没反映
alert(document.getElementById("<%=order_ID.ClientID %>").value);//显示正常
document.getElementById("<%=Hidden.ClientID %>").click;
syc958 2009-07-20
  • 打赏
  • 举报
回复
document.getElementById(" <%=服务器端控制ID.ClientID %>" )比如:button1.ClientID
syc958 2009-07-20
  • 打赏
  • 举报
回复
document.getElementById(" <%=服务器端控制ID.ClientID %>" )比如:button1.ClientID
hanbb1982 2009-07-20
  • 打赏
  • 举报
回复
document.getElementById("<%=order_ID.ClientID %>").value
document.getElementById 读到的只是客户端的ID,所以这里一定要是客户端的ID才行的.
eyuanliang 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 syc958 的回复:]
js中你可以这样用服务器端控制的ID:document.getElementById(" <%=控件.ClientID %>" )服务器端ID并不一定会是客户端的id...
[/Quote]
<%= 控件.ClientID%> 中的控件是不是写 Button.order_ID 这样的 ?
syc958 2009-07-20
  • 打赏
  • 举报
回复
js中:document.getElementById("<%=控件.ClientID %>" )比如:document.getElementById("<%=button1.ClientID %>" )
ralpha08 2009-07-20
  • 打赏
  • 举报
回复
因为你是模板列 模板列运行之后会生成很多ID 为 order_ID的服务器端对象,这在.net中是不允许的,所以.net会自动改你的ID
syc958 2009-07-20
  • 打赏
  • 举报
回复
js中你可以这样用服务器端控制的ID:document.getElementById("<%=控件.ClientID %>" )服务器端ID并不一定会是客户端的id...
gyy_qiudao 2009-07-20
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
document.getElementById(" <%=Hidden.ClientID %>").click();
试一下

62,052

社区成员

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

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

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

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