asp net - 命令名未提交的按钮

时间:2017-05-21 00:15:06

标签: c# asp.net ajax vb.net webforms

我想知道是否有一个解决方案是在asp:Button内部CommandName ListView并让它运行并执行CommandName,但是没有刷新页面(提交)。我有一个模态,所以我不喜欢页面刷新然后显示模态。

<asp:Button runat="server" CommandName="Details" Text="Details" />

我已经尝试将UseSubmitBehaviour设置为false而没有成功。

编辑:

Protected Sub lstvLadder_ItemCommand(sender As Object, e As ListViewCommandEventArgs)
        If e.CommandName = "Details" Then
            Dim lblRank As Label = TryCast(e.Item.FindControl("lblRank"), Label)
            Dim lblPoints As Label = TryCast(e.Item.FindControl("lblPoints"), Label)
            Dim lblTeam As Label = TryCast(e.Item.FindControl("lblTeam"), Label)
            Dim lblTeamLeader As Label = TryCast(e.Item.FindControl("lblTeamLeader"), Label)
            MUCH CODE HERE

        End If
End Sub

我想让它在点击按钮时不刷新页面,但是我想让它运行这个函数,命令名

如果你想亲眼看看:here如果你按下右侧的详情按钮,它会刷新页面然后加载模态而不是只加载模态。我用来调用它的按钮是上面的asp:ButtonItemCommand块。

1 个答案:

答案 0 :(得分:0)

我不完全确定你想要完成什么。但是,如果您只是想阻止postback,您只需尝试以下操作:

<asp:Button ID="btnId" runat="server" 
            CommandName="Details" 
            Text="Details"
            CommandArgument = "X"
            OnClick="btnId_Click" 
            OnClientClick="return false;" />

我在asp:Button上留下了一些其他属性来调查以尝试解决问题。如果您可以进一步了解正在发生的事情以及您想要发生的事情,我可以尝试进一步提供帮助。就像告诉你如何进行ajax调用一样,但是你可以在没有调用的情况下完成你想要做的事情。

更新:

如果没有更多的源信息(您的服务器代码),我仍然无法提供帮助,但我提供了另一个关于添加UpdatePanel的答案的链接,这将允许您拨打电话服务器,而不是在按asp:button时刷新整个页面。这是一个link to the stackoverflow answer。希望这会有所帮助。