Javascript 为什么联机服务器上的linkbutton控件ID发生更改?

Javascript 为什么联机服务器上的linkbutton控件ID发生更改?,javascript,asp.net,Javascript,Asp.net,大家好,我正在使用javascript通过使用链接按钮的ID来创建基于单击的链接按钮的事件,这里是我的asp页面的代码 <asp:LinkButton ID="Tlbr_Item_New" runat="server" CssClass="button_big">Tlbr_Item_New</asp:LinkButton> <asp:LinkButton ID="Tlbr_Item_Save" runat="server" CssClass="button_big"

大家好,我正在使用javascript通过使用链接按钮的ID来创建基于单击的链接按钮的事件,这里是我的asp页面的代码

<asp:LinkButton ID="Tlbr_Item_New" runat="server" CssClass="button_big">Tlbr_Item_New</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Save" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Save</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_delete" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_delete</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Undo" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Undo</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Clear" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Clear</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Search" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Search</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Print" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Print</asp:LinkButton>
<asp:LinkButton ID="Tlbr_Item_Close" runat="server" CssClass="button_big" OnClientClick="return ToolBarClickItem(this);" >Tlbr_Item_Close</asp:LinkButton>
}

当我在本地IIS上测试它时,效果很好

但当我在我的服务器somee.com上发布它时 链接按钮控制对ctloo\u Tlbr\u项目\u保存的更改,但不起作用 因此,我不知道问题所在,也不知道您可以使用什么解决方案

通过在网站的
Web.config
文件中设置pages元素,可以为网站中的所有页面设置
clientdmode
值。您可以在
@page指令
中设置页面的ClientIDMode值。使用.NET4,您甚至可以通过将其设置为控件

页面的ClientIDMode的默认值是
可预测的
。控件的ClientIDMode的默认值为
Inherit

但是,您也可以通过
ClientID
$(“#”)获取客户端ID

您可以使用

通过在网站的
Web.config
文件中设置pages元素,可以为网站中的所有页面设置
clientdmode
值。您可以在
@page指令
中设置页面的ClientIDMode值。使用.NET4,您甚至可以通过将其设置为控件

页面的ClientIDMode的默认值是
可预测的
。控件的ClientIDMode的默认值为
Inherit

但是,您也可以通过
ClientID
$(“#”)获取客户端ID

试试这个

    switch (ItemID) {
        case '<%= Tlbr_Item_New.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_Save.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_delete.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_Undo.ClientID %>':
            //Your code
            break;
}
开关(ItemID){
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
}
试试这个

    switch (ItemID) {
        case '<%= Tlbr_Item_New.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_Save.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_delete.ClientID %>':
            //Your code
            break;
        case '<%= Tlbr_Item_Undo.ClientID %>':
            //Your code
            break;
}
开关(ItemID){
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
案例“”:
//你的代码
打破
}

您可能还应该通过更好/正确的实施来摆脱所有正在使用的eval。字符串值的内容可能是什么?您可能还应该通过更好/正确的实现来摆脱所有正在使用的eval。字符串值的内容可能是什么?我尝试过你的方法,但奇怪的是名称空间“System.Web.UI”中不存在类型或名称空间名称“ClientIDMode”(是否缺少程序集引用?),我正在使用.net framwork 4。0@AhmedKamal:检查应用程序分配到的IIS中的应用程序池。它应该使用.NET 4。我已经尝试过你的方法,但奇怪的是名称空间“System.Web.UI”(是否缺少程序集引用?)中不存在类型或名称空间名称“ClientIDMode”,我正在使用.NET framwork 4。0@AhmedKamal:检查应用程序分配到的IIS中的应用程序池。它应该使用.NET4。