C#OnclientClick-doens';不呈现asp标记?
我有一个ASP按钮,看起来像这样:C#OnclientClick-doens';不呈现asp标记?,c#,onclientclick,C#,Onclientclick,我有一个ASP按钮,看起来像这样: <asp:Button ID="btnReset" runat="server" OnClientClick = "hideOverlay('<%=pnlOverlay.ClientID %>', '<%=pnlAddComment.ClientID %>');" CssClass ="btnCancel PopUpButton" /> 问题是隐藏部分中的asp标记。我无法让它工作。为什么不工作
<asp:Button
ID="btnReset"
runat="server"
OnClientClick = "hideOverlay('<%=pnlOverlay.ClientID %>', '<%=pnlAddComment.ClientID %>');"
CssClass ="btnCancel PopUpButton"
/>
问题是隐藏部分中的asp标记。我无法让它工作。为什么不工作?如何修复它?尝试在内联代码中将“=”替换为“#”。e、 g.=>,以便在编译时实例化客户端ID
仅用于调用客户端脚本,如javascript代码。如果您试图在代码隐藏中调用方法,则应使用OnClick事件。将代码更改为:
<asp:Button
ID="btnReset"
runat="server"
OnClientClick=<%# "hideOverlay('" + pnlOverlay.ClientID + "', '" + pnlAddComment.ClientID +"');" %>
CssClass ="btnCancel PopUpButton"
/>
别忘了对链接进行数据绑定,是的,onclientclick
没有“
,因为这些都在
标记中使用,您可以尝试一下
i、 在代码背后
btnReset.OnClientClick = "hideOverlay'"+pnlOverlay.ClientID+"','"+pnlAddComment.ClientID+"')";
第二种方法是使用内联javascript
<asp:Button ID="btnReset" runat="server" OnClientClick = "newhideOverlay()" CssClass
="btnCancel PopUpButton"/>
<script type="text/javascript">
function newhideOverlay()
{
hideOverlay('<%=pnlOverlay.ClientID %>', '<%=pnlAddComment.ClientID %>');
}
</script>
函数newhideOverlay()
{
隐藏隐藏('','');
}
同时确保pnlOverlay和pnlAddComment在按钮之前加载。尝试以下示例
第一个例子
在aspx中
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnReset" runat="server" CssClass="btnCancel PopUpButton" />
<asp:Panel ID="pnlOverlay" runat="server">
</asp:Panel>
<asp:Panel ID="pnlAddComment" runat="server">
</asp:Panel>
</div>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnReset" runat="server" CssClass="btnCancel PopUpButton" OnClientClick="hideOverlay();" />
<asp:Panel ID="pnlOverlay" runat="server">
</asp:Panel>
<asp:Panel ID="pnlAddComment" runat="server">
</asp:Panel>
</div>
</form>
</body>
<script type="text/javascript" >
function hideOverlay()
{
var pnlOverlayID = '<%= pnlOverlay.ClientID %>';
var pnlAddCommentID = '<%= pnlAddComment.ClientID %>';
//Do your stuff
}
</script>
</html>
它将为按钮生成以下源代码
<input type="submit" name="btnReset" value="" onclick="hideOverlay('pnlOverlay','pnlAddComment');" id="btnReset" class="btnCancel PopUpButton" />
<input type="submit" name="btnReset" value="" onclick="hideOverlay('pnlOverlay', 'pnlAddComment');" id="btnReset" class="btnCancel PopUpButton" />
它将为按钮生成以下源代码
<input type="submit" name="btnReset" value="" onclick="hideOverlay('pnlOverlay','pnlAddComment');" id="btnReset" class="btnCancel PopUpButton" />
<input type="submit" name="btnReset" value="" onclick="hideOverlay('pnlOverlay', 'pnlAddComment');" id="btnReset" class="btnCancel PopUpButton" />
第三个例子
在aspx中
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnReset" runat="server" CssClass="btnCancel PopUpButton" />
<asp:Panel ID="pnlOverlay" runat="server">
</asp:Panel>
<asp:Panel ID="pnlAddComment" runat="server">
</asp:Panel>
</div>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnReset" runat="server" CssClass="btnCancel PopUpButton" OnClientClick="hideOverlay();" />
<asp:Panel ID="pnlOverlay" runat="server">
</asp:Panel>
<asp:Panel ID="pnlAddComment" runat="server">
</asp:Panel>
</div>
</form>
</body>
<script type="text/javascript" >
function hideOverlay()
{
var pnlOverlayID = '<%= pnlOverlay.ClientID %>';
var pnlAddCommentID = '<%= pnlAddComment.ClientID %>';
//Do your stuff
}
</script>
</html>
函数hideOverlay()
{
变量pnlOverlayID='';
var pnlAddCommentID='';
//做你的事
}
它将为脚本部分生成以下源代码
<script type="text/javascript" >
function hideOverlay()
{
var pnlOverlayID = 'pnlOverlay';
var pnlAddCommentID = 'pnlAddComment';
//Do your stuff
}
</script>
函数hideOverlay()
{
变量pnlOverlayID='pnlOverlay';
var pnlAddCommentID='pnlAddComment';
//做你的事
}
我尝试了你的代码,但它不起作用。当我查看源代码时,我看到:onclick属性消失了,为什么会这样?。你对databind链接的意思是什么?在你的代码背后,你必须调用“databind();或“btnReset.DataBind()”