当前位置: 首页 > 知识库问答 >
问题:

将链接按钮放置在更新面板中,不触发链接按钮的点击事件

笪煌
2023-03-14
        <asp:ScriptManager ID="ScriptManager1" runat="server">                                  
    </asp:ScriptManager<asp:UpdatePanel ID="UpdatePanel1"runat="server">
    <ContentTemplate>
    <asp:Timer runat="server" ID="Timer2"   Interval="60" ontick="Timer1_Tick"/>
    <asp:DataList ID="DataList1" runat="server" RepeatColumns="1" onitemcommand="DataList1_ItemCommand">
    <ItemTemplate>
    <b>Test Name:</b> <%# DataBinder.Eval(Container.DataItem, "Name")%> <br />
    <b>Test Phone:</b> <%# DataBinder.Eval(Container.DataItem, "Phone")%> <br />
    <asp:LinkButton ID="btnView" runat="server" Text="View" CommandName="ShowDetails" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Name")%>' OnCommand="btnView_Command"></asp:LinkButton>
    </ItemTemplate>
    </asp:DataList>
    </ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer1"     EventName="Tick" />
    </Triggers>
    </asp:UpdatePanel>
    <asp:Panel ID="panel2" runat="server" Visible="false"></asp:Panel>
Code Behind :


    protected void dlBundleRequests_ItemCommand(object source, DataListCommandEventArgs e)
    {
        panel1.Visible = false;
        panel2.Visible = true;

        if (e.CommandName == "ShowDetails")// null)
        {
            Session["Name"] = e.CommandArgument.ToString();
            //Show Panel2
        }
    }
    protected void Timer1_Tick(object sender, EventArgs e)
    {
         //Binding DataList1
    }
    protected void btnView_Command(Object sender, CommandEventArgs e)
    {
      //set visibility true for Panel2
     }

添加updatepanel的必要性

共有2个答案

钱宇
2023-03-14

您必须在链接按钮标签中设置命令参数和命令名称,然后使用命令事件而不是单击

    <ItemTemplate>
            <b>Test Name:</b> <%# DataBinder.Eval(Container.DataItem, "Name")%> <br />
            <b>Test Phone:</b> <%# DataBinder.Eval(Container.DataItem, "Phone")%> <br />
                <asp:LinkButton ID="btnView" runat="server" Text="View" OnCommand="btnView_Click" CommandName="ShowDetails" CommandArgument='%# DataBinder.Eval(Container.DataItem, "Phone")%' ></asp:LinkButton>
</ItemTemplate>

然后在MSDN中的code...命令中处理该参数

殷浩慨
2023-03-14

试试这个...

<Triggers>
     <asp:AsyncPostBackTrigger ControlID="btnView"/>  
</Triggers>
 类似资料:
  • 在任何浏览器下,默认的链接都太过平淡,不能满足大多数人的需求。尤其是希望有特大点击区域的链接,比如制作主导航链接、手风琴菜单、按钮等链接时,默认的链接更是无能为力,而按钮式链接便可担此重任。 链接默认是行内元素,只能通过链接文本来激活链接。要想让链接像按钮一样,较大的点击区域,其实很简单。只需为链接添加合适的内边距,并设置类似按钮的背景和边框即可。 a  {     padding: 10px

  • 问题内容: 添加按钮具有事件OnClick =“ btn_Add_Click” 该事件未触发,当我单击添加按钮时,没有任何反应。而且,在我添加更新面板之前,“更新按钮”工作正常,现在只有“取消”按钮关闭了弹出窗口,而其他按钮在弹出窗口内无法正常工作如何触发事件。 问题答案: 将UpdatePanel的属性更改为。这将导致由UpdatePanel的子元素触发的任何回发更新其内容。 编辑 :刚刚意识到

  • 我有一个带有两个链接按钮的动态gridview。如果我点击链接按钮,事件不会触发。但如果我在页面加载中调用“display”方法,它就可以正常工作了。代码如下 如果我把“显示”方法放在页面加载中,它将调用每个回发。我不想要那个。我想在下拉选择更改事件中调用此方法。如果我把“显示”方法放在那个链接点击事件不触发。所以我必须做什么来克服这个问题。

  • 我正在使用和这里找到的自定义表模型。我已经用那篇文章中提供的建议更新了我的代码,遇到了一个新问题。我对代码所做的更改是注入<code>ArrayList 用于初始化< code>JTable的代码如下: 我用来更新< code>JTable的代码如下: 我也尝试过使用但这也不起作用。截至目前,使更新的唯一方法是关闭并重新打开程序。具有我用于的,随着用户添加更多玩家,其大小会增加。 为什么< cod

  • 问题内容: 我是android开发的新手,我基本上是在尝试创建一个非常基本的应用程序,该应用程序将使用户能够打开其wifi。 我的XML文件: ` 我的Java文件: }` 我的问题是如何将XML文件中的按钮引用到java文件上,以进一步告诉它,如果单击该按钮,则应打开wifi。谢谢。 问题答案: 有几种方法可以做到这一点。 您可以做的就是将此行添加到xml中的标签中 然后将该函数的参数更改为 这

  • 我已经正确地用html链接了在线引导样式表,但是当我打开链接时,“Click here!”不是一个按钮。我怎么解决这个? 这是我的代码:使用btn-primary 这是输出:No button there