2014-01-23 45 views
0

我想知道它是否有可能在JavaScript中運行在linkbutton的postbackurl中。或者有什麼辦法在linkbutton中觸發javascript。是否有可能在LinkBut​​ton的PostBackUrl中放入一個javascript

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="editlink" onclick="LinkButton1_Click" PostBackUrl="javascript:document.getElementById('sched').style.display = 'block';" >Edit</asp:LinkButton> 
+0

ASP.NET Web窗體。 – jelliaes

回答

1

您可以使用OnClientClick。例如:

<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="MyFunction();" onclick="LinkButton1_Click">LinkButton</asp:LinkButton> 

它會在OnClick事件之前觸發。

你的JavaScript函數:

<script type="text/javascript">   
    function MyFunction() { 
    document.getElementById('sched').style.display = 'block'; 
    } 
</script> 

添加UpdatePanel爲AsyncPostBack

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click" /> 
     </Triggers> 
<ContentTemplate> 
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="MyFunction();" onclick="LinkButton1_Click">LinkButton</asp:LinkButton> 
    <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1"> 
     <ProgressTemplate> 
      <div id="sched"> 
      // Your code 
      </div> 
     </ProgressTemplate> 
    </asp:UpdateProgress>  
</ContentTemplate> 
+0

它顯示我想要顯示的內容,但在回發後突然消失。 – jelliaes

+0

當我把它放在函數中時,它不工作:( – jelliaes

+0

這是正確的,頁面在回發後被重新加載。如果你希望它繼續存在,你可能想用'UpdateProgress'模板添加'UpdatePanel',所以它只是部分回發 – luke2012

相關問題