我正在尝试解决按钮/链接按钮的问题(两者都不起作用)。 问题如下:
我有一个导航菜单,用户可以在其中选择要重定向到的“选项卡”(多视图视图)。在这个菜单中,我有一些按钮/链接按钮,它们应该更新updatepanel。 但是它并不会这样做-它总是更新整个页面。
我的一些ASCX代码:
<div class="row">
<label style="margin-left: 15px">Menu</label><br />
<div class="col-sm-4 col-md-3 sidebar">
<div class="mini-submenu">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</div>
<div class="list-group">
<span class="list-group-item active">Woundmanagement
<span class="pull-right" id="slide-submenu">
<i class="fa fa-times"></i>
</span>
</span>
<asp:Button ID="Button_1" runat="server" Text="Wundbeschreibung" CssClass="list-group-item" OnClick="nav_btn_1_Click" />
...
more items in the dropdownmenu
</div>...
单击按钮时应触发的事件:
protected void nav_btn_1_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 1;
}
我搜索了2个小时,然后尝试了所有可能的解决方案- 到目前为止我尝试过的操作:
在更新面板的内部和外部放置按钮和菜单-不会改变问题
添加了PostbackTrigger
<asp:PostBackTrigger ControlID="Button_1"/>
通过这种方式,我的按钮可以正常工作,但是页面仍被重新加载
然后我添加了asyncPostbackTrigger
<asp:AsyncPostBackTrigger ControlID="Button_1" EventName="Click"/>
如果我现在单击按钮,什么也没发生。
我尝试将有条件的UpdateMode添加到updatePanel
<asp:ScriptManager ID="ScriptManager1" runat ="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UP_Woundmanagement" runat="server"
UpdateMode="Conditional">
我将<Triggers>
移到了updatePanel的前面和updatePanel的后面
我在页面指令中添加了ClientIDMode="AutoID"
使用LinkButton尝试了相同的事情
我真的不知道我可以进一步尝试使它起作用,如果你们中的某人有一个主意,那将是很棒的! :)
答案 0 :(得分:1)
我不明白您为什么不共享updatepanel aspx代码。在更新面板之前或之后触发标签。
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Refreshed at " + DateTime.Now.ToString();
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
如果触发器对象位于UpdatePanel中,则应将 ChildrenAsTrigger 设置为true。而且,如果您在ContentPlaceHolder中使用更新面板,那么本文将对您有所帮助。 https://msdn.microsoft.com/tr-tr/library/bb398864(v=vs.100).aspx