0

大家好,我正在使用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>

这是我的javascript函数

function ToolBarClickItem(Item) {
window.style = "cursor:hand;";
var bRes = true;
var sMessage = "";
var ItemID = "";
if (typeof Item == 'object')
    ItemID = Item.id;
else
    ItemID = Item;
switch (ItemID) {
    case "Tlbr_Item_New":
        if (NewButtonURL != "")
            bRes = eval(NewButtonURL);
        break;
    case "Tlbr_Item_Save":
        if (SaveButtonURL != "")
            bRes = eval(SaveButtonURL);
        if (bRes == true) {
            if (IsAnyRequiredEmpty(document.forms[0])) {
                window.alert(ErrorEmptyNotAllowed);
                bRes = false;
            }
            else
                sMessage = WarnMessageArray[ItemID];
        }
        break;
    case "Tlbr_Item_delete":
        if (DeleteButtonURL != "")
            bRes = eval(DeleteButtonURL);
        sMessage = WarnMessageArray[ItemID];
        break;
    case "Tlbr_Item_Undo":
        if (UndoButtonURL != "")
            bRes = eval(UndoButtonURL);
        sMessage = WarnMessageArray[ItemID];
        break;
    case "Tlbr_Item_Clear":
        if (ClearButtonURL != "")
            bRes = eval(ClearButtonURL);
        break;
    case "Tlbr_Item_Search":
        if (SearchButtonURL != "")
            bRes = eval(SearchButtonURL);
        break;
    case "Tlbr_Item_Print":
        if (PrintButtonURL != "")
            bRes = eval(PrintButtonURL);
        if (bRes == true && bFreeSearch == false)
            if (IsAnyPrimaryEmpty(document.forms[0])) {
                window.alert('No Record To Print');
                bRes = false;
            }
            else
                CustomPrint(PrintURL);
        break;
    case "Tlbr_Item_Close":
        if (confirm('سيتم إغلاق الشاشة؟'))
            window.close();
        bRes = false;
        break;
}
if (sMessage != "" && bRes == true)
    bRes = ShowAskMessage(WarnMessageArray[ItemID]);
return bRes;

}

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

但是当我在我的服务器上发布它是 somee.com 时,linkbuttons 控制更改为 ctloo_Tlbr_Item_Save 并且它不起作用所以我不知道问题和解决方案是什么

4

2 回答 2

2

您可以使用ClientIdMode=Static.

您可以ClientIDMode通过设置站点Web.config文件中的 pages 元素来设置网站中所有页面的值。您可以在@Page directive. 使用 .NET4,您甚至可以通过 .NET 将其设置为控件Control.ClientIdMode

页面的 ClientIDMode 的默认值为Predictable。控件的 ClientIDMode 的默认值为Inherit

ASP.NET 4.0 中的 ClientIDMode

但是,您也可以通过以下方式获取客户端 ID ClientID$("#<%= Tlbr_Item_Save.ClientID %>")

使用 jQuery 查找 ASP.NET ClientID 的通用方法

于 2013-01-07T11:07:49.377 回答
1

尝试这个

    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;
}
于 2013-01-07T11:12:11.357 回答