Asp:单击时应用于表的LinkButton href值

Asp:LinkButton href value applied to table onclick

本文关键字:LinkButton href 应用于 单击 Asp      更新时间:2023-09-26

我正在尝试在我们的web应用程序中国际化按钮,到目前为止,我已经能够使用sprite图像构建我们的按钮,并应用相关的css类来构建按钮。

我把它放在以下结构中:

<table cellpadding="0" cellspacing="0" class="pwbtn" onmouseout="this.className='pwbtn';"
    onmouseover="this.className='pwbtnh';">
    <tr>
        <td class="a1">
        </td>
        <td class="a2" onclick="CallShowBlocker()">
            <asp:linkbutton id="ButtonNext" onclientclick="PreNavigationScript();" runat="server"
                cssclass="RemoveLinkStyle"></asp:linkbutton>
        </td>
        <td class="a3">
        </td>
        <td class="spacer">
        </td>
    </tr>
</table>

此时,按钮按预期显示,但用户必须准确点击文本,按钮才能触发其事件。

我想将链接按钮的href值应用于表oncick,这样当用户单击图像内的任何位置时,它都会触发事件。

此外,我的href值是通过C#中的事件处理程序建立的,并产生以下href值:

"javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ContWizard2$Wizard1$cFooter$ButtonNext', '', true, '', '', false, true));"

如果我在这里不够清楚,或者错过了你需要看到的代码的任何部分,请提前告诉我并感谢你。

在获得更多代表之前,我必须在这里回答您,而不是评论。一个很好的建议是保留您的代码,但您可以使用image按钮并将imageurl属性分配给您的图片/图标,而不是使用链接按钮(可能会限制您必须单击的位置)。

由于这两种类型的按钮之间的差异很小,所以根本不需要做太多更改。

如果有帮助,请告诉我。

-JJ

如果有人发现这个问题并想知道如何修复它。

我删除了表外的LinkButton。使用tables-onclick属性,我创建了一个新的Javascript函数,该函数传递了LinkButton客户端ID。

当点击按钮时,ID被传递给Javascript函数,我们触发link.calick()来执行links操作。见下文:

<asp:linkbutton id="LinkButton1" runat="server" causesvalidation="False" cssclass="RemoveLinkStyle"></asp:linkbutton>
<table cellpadding="0" cellspacing="0" class="pwbtn" onclick="CallShowBlocker(); ExecuteLink('<%=ButtonYes.ClientID %>');"
    onmouseout="this.className='pwbtn';" onmouseover="this.className='pwbtnh';">
    <tr id="trButtonYes" runat="server" visible="false">
        <td class="a1">
        </td>
        <td class="a2" onclick="CallShowBlocker()">
            <%= this.resourceManager.GetString("yes") %>
        </td>
        <td class="a3">
        </td>
        <td class="spacer">
        </td>
    </tr>
</table>
function ExecuteLink(linkID)
{ 
    var link = document.getElementById(linkID); 
    link.click();
}