Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按钮和列表视图_C#_Asp.net - Fatal编程技术网

C# 按钮和列表视图

C# 按钮和列表视图,c#,asp.net,C#,Asp.net,我有两个ListView,每个都包含一个linkbutton。 如果我从第一个listview中按lb,它会触发一个事件,但当我从第二个listview中按lb时,它不会触发。但是如果我把lb放在第二个listview的正上方,它就会启动它 第一个列表视图: <asp:ListView ID="ListViewMesaje" runat="server"> <LayoutTemplate> <ul> <as

我有两个ListView,每个都包含一个linkbutton。 如果我从第一个listview中按lb,它会触发一个事件,但当我从第二个listview中按lb时,它不会触发。但是如果我把lb放在第二个listview的正上方,它就会启动它

第一个列表视图:

<asp:ListView ID="ListViewMesaje" runat="server">
    <LayoutTemplate>
        <ul>
            <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
        </ul>
    </LayoutTemplate>
    <ItemTemplate>
        <asp:LinkButton ID="LinkButtonStergeMesaj" runat="server" CommandName="stergeMesaj"
                                        CommandArgument='<%#Container.DataItem%>' OnCommand="LinkButtonListView_Click"><div id="mesajdelete" class='<%#getBackgGifMesaj(getUsernameMesaj((string) Container.DataItem,"citit"))%>'></div></asp:LinkButton>
    </ItemTemplate>
</asp:ListView>

第二个:

<asp:ListView ID="ListViewFriendRequests" runat="server" DataSourceID="SqlDataSourceFriendRequests" >
        <LayoutTemplate>
            <ul>
                <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
            </ul>
        </LayoutTemplate>
        <ItemTemplate>
            <asp:LinkButton ID="LinkButtonfqignora" runat="server" CommandName="refuzaPrieten"
                                        CommandArgument='<%#Eval("username")%>' OnCommand="LinkButtonListView_Click"><div id="friendreqign" >'<%#Eval("username")%>'</div></asp:LinkButton>
        </ItemTemplate>
</asp:ListView>

''
两个建议:您是否尝试删除DataSourceID属性,因为这似乎是两者之间的主要区别


另外,最好订阅ListView的命令事件,而不是直接订阅链接按钮的命令事件。当命令甚至在按钮上触发时,事件将冒泡,listview将接收该事件并使用相关信息触发它自己的事件。

我终于找到了一个答案,为什么listview中的按钮没有被触发。 如果使用SqlDataSource作为数据源,则需要为SqlDataSource声明SelectCommand、UpdateCommand、DeleteCommand和InsertCommand,如下所示:

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
                   ConnectionString="<%$ ConnectionStrings:Pubs %>"
                   SelectCommand="SELECT [au_id], [au_lname], [au_fname], [state] FROM [authors]"
                   UpdateCommand="UPDATE [authors] SET [au_id] = @au_id, [au_lname] = @au_lname,[au_fname] = @au_fname, [state] = @state WHERE [au_id] = @original_au_id"
                   DeleteCommand="DELETE FROM [authors] WHERE [au_id] = @original_au_id"/>


起初我只是声明了SelectCommand,这就是为什么按钮没有启动。

您使用的是哪个版本的.net?