【问题标题】:Is it possible to put a javascript in the PostBackUrl of the LinkButton是否可以在 LinkBut​​ton 的 PostBackUrl 中放置 javascript
【发布时间】:2014-01-23 02:40:25
【问题描述】:

我想知道 javascript 是否可以在链接按钮的 postbackurl 中运行。或者有什么方法可以在链接按钮中触发 javascript。

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

【问题讨论】:

    标签: javascript webforms postback linkbutton


    【解决方案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>
    

    为 AsyncPostBack 添加 UpdatePanel

    <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>
    

    【讨论】:

    • 它显示了我想要显示的内容,但是在回发后突然消失了。
    • 没错,页面在回发后重新加载。如果您希望它持续存在,您可能需要添加带有UpdateProgress 模板的UpdatePanel,因此它只是部分回发。
    • 您是否在函数周围放置了&lt;script&gt; 标签?我会更新答案。
    • 它已经在更新面板中。我的问题是由于回发它正在消失。
    • 真的不行。我忘了告诉我的链接按钮在gridview 里面。错误是它正在寻找控件ID..
    猜你喜欢
    • 2016-11-17
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2023-03-28
    相关资源
    最近更新 更多