当前位置:编程学习 > C#/ASP.NET >>

如何在ASP.NET中使用JavaScript获得服务器控件ID

如题 --------------------编程问答--------------------    document.getElementById("<%=DeleteImgNo.ClientID %>").value 
                                你控件的ID.clientId --------------------编程问答-------------------- 后台的写法
       this.btnDelete.Attributes.Add("onclick", "ImageDel("+this.btnDelete.ClientID+");");

 JS
ImageDel(btnId)
{
  alert(btnId);
}
HTML 
 btnDelete 删除按钮 --------------------编程问答--------------------  var obj=document.getElementById("服务器控件ID"); --------------------编程问答-------------------- function getControalID(controlName) {
    var RegString = new RegExp(".*?" + controlName+ ".*?");
    for (i = 0; i < document.all.length; i = i + 1) {
        if (RegString.test(document.all[i].id)) {
            return document.all[i];
        }
    }

    return false;
} --------------------编程问答-------------------- 你的意思不太明确! 不知道我说的是否是你问的! 如果不是!你可以在说清楚点! --------------------编程问答-------------------- document.getElementById(" <%=DeleteImgNo.ClientID %>").value --------------------编程问答-------------------- alert("<%=服务端控件的ID.ClientID %>") --------------------编程问答-------------------- var p=document.getElementById('<%=Textbox1.ClientID %>') 
--------------------编程问答-------------------- 围观 --------------------编程问答-------------------- 问题太简单了,都抢这答,你这100太大方了 --------------------编程问答-------------------- 路过…… --------------------编程问答-------------------- 估计她问的就是html页面中的服务器空间ID。 --------------------编程问答-------------------- #10楼 我彻底鄙视你(#‵′)凸
我不认为简单 例如跨页面看你怎么获取 父窗体的服务器控件Id 

例如:父窗体:服务器控件Id为"content"
     子窗体:window.opener.document.getElementById('<%=content.ClientID').value
可以吗?
如果可以,我跳楼!!!!!!!! --------------------编程问答-------------------- document.getElementById(" <%=Control.ClientID %>").value 
正解
另外如果你没有用UserControl的话,可以直接在JS中用服务器端ID。 --------------------编程问答--------------------
引用 14 楼 wdzr_826 的回复:
document.getElementById("  <%=Control.ClientID %>").value
 正解
 另外如果你没有用UserControl的话,可以直接在JS中用服务器端ID。

   正解 --------------------编程问答-------------------- document.getElementById("  <%=Control.ClientID %>").value 
--------------------编程问答-------------------- var userName=document.getElementById('<%=this.tbName.ClientID %>').value; --------------------编程问答--------------------  <asp:TextBox ID="tb" runat="server" ></asp:TextBox>
转化成 客户端会变成  <input name="tb" type="text" id="tb" />
说白了就是你 clientID 属性  --------------------编程问答--------------------
引用 15 楼 wangxiaofeiwuqiao 的回复:
引用 14 楼 wdzr_826 的回复:
document.getElementById("  <%=Control.ClientID %>").value
正解
另外如果你没有用UserControl的话,可以直接在JS中用服务器端ID。

  
正解
--------------------编程问答-------------------- ClientID --------------------编程问答-------------------- var obj=document.getElementById("服务器控件ID"); --------------------编程问答-------------------- Control.ClientID  --------------------编程问答--------------------
引用 1 楼 hecong875 的回复:
  document.getElementById(" <%=DeleteImgNo.ClientID %>").value
                                你控件的ID.clientId
正解 --------------------编程问答-------------------- document.getElementById(" <%=servercontrol.ClientID %>").value 


jf --------------------编程问答--------------------

function Test() {
    alert(document.getElementById(" <%=txt1.ClientID %>").value);
}


<asp:Button ID="btn1" runat="server" Text="Test" OnClientClick="Test()" />
            <asp:TextBox ID="txt1" runat="server" Text="Test"></asp:TextBox>
--------------------编程问答--------------------
引用 1 楼 hecong875 的回复:
  document.getElementById(" <%=DeleteImgNo.ClientID %>").value
                                你控件的ID.clientId

正解
我是来抢分的 --------------------编程问答-------------------- $("#id"); --------------------编程问答-------------------- 上面的都对 --------------------编程问答-------------------- 上面已经回答的很清楚了,不过友情提醒一下有些服务器控件如DataList,会转化成表格的形式,不能直接当服务器控件用,比如调用属性,方法什么的,唐突了勿见怪 --------------------编程问答-------------------- mark --------------------编程问答-------------------- document.getElementById() 
--------------------编程问答--------------------  document.getElementById(" <%=DeleteImgNo.ClientID %>").value 
                                你控件的ID.clientId

好大方啊你。 --------------------编程问答-------------------- 都抢着回答啊。。。高分的力量~ --------------------编程问答-------------------- 学习了。 --------------------编程问答--------------------  document.getElementById(" <%=DeleteImgNo.ClientID %>").value  --------------------编程问答-------------------- 1.在浏览器中查看源代码 找到控件对应的Id
    <asp:HiddenField ID="hdn_LevelOneId" runat="server" />
    ctl00$ContentPlaceHolder1$hdn_LevelOneId
2.JavaScript里
            document.getElementById("ctl00$ContentPlaceHolder1$hdn_LevelOneId").value
因为ctl00$ContentPlaceHolder1$hdn_LevelOneId是不会变的 --------------------编程问答-------------------- 个人总结:
1、用户控件中的服务器控件:这个时候Javascript捕获控件ID的时候要加上用户控件的名称,例如:
服务器控件名:txtUserName;用户控件名:RegisterUser;那么Javascript得到控件ID的方式应该是:
var id=document.getElementById("RegisterUser1_txtUserName");

2、页面中存在母版页:(注意不是客户端看到的$)
母版页内的服务器控件:var id=document.getElementById("ct100_txtUserName");
母版页外的服务器控件:var id=document.getElementById("ctl00_ContentPlaceHolder1_txtUserName");

3、母版页与用户控件结合:(注意不是客户端看到的$)
母版页内的服务器控件:var id=document.getElementById("ct100_RegisterUser1_txtUserName");
母版页外的服务器控件:var id=document.getElementById("ctl00_ContentPlaceHolder1_RegisterUser1_txtUserName");

4、一般情况(也就是没有母版页和用户控件):
var id=document.getElementById("txtUserName");
--------------------编程问答--------------------  document.getElementById(" <%=DeleteImgNo.ClientID %>").value 
你控件的ID.clientId

this.btnDelete.Attributes.Add("onclick", "ImageDel("+this.btnDelete.ClientID+");"); 
--------------------编程问答-------------------- 学习学习!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,