Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# GridView行命令未触发_C#_Asp.net_Vb.net_Gridview - Fatal编程技术网

C# GridView行命令未触发

C# GridView行命令未触发,c#,asp.net,vb.net,gridview,C#,Asp.net,Vb.net,Gridview,我很难弄清楚为什么RowCommand没有开火。奇怪的是,我在页面上有一个不同的GridView,它的RowCommand命令毫无问题地启动,所以我不知道问题出在哪里 我有以下代码: JavaScript function displayPayees() { $('#payeeList').css("display", "block"); $('#payeeList').dialog({ modal: true, d

我很难弄清楚为什么RowCommand没有开火。奇怪的是,我在页面上有一个不同的GridView,它的RowCommand命令毫无问题地启动,所以我不知道问题出在哪里

我有以下代码:

JavaScript

function displayPayees() {
        $('#payeeList').css("display", "block");
        $('#payeeList').dialog({
            modal: true,
            draggable: false,
            resizable: false,
            maxHeight: 600,
            width: 800,
            position: { my: "center top", at: "center top+15%", of: window }
        }); 
    }
.aspx页面

更新:

我注意到,将GridView移出其包含的
div
会导致row命令正确启动

我使用将GridView放入一个对话框中,通过单击按钮显示。我在包含的
div
上有
display:none
,这样网格视图在按钮单击之前是不可见的,我认为这可能是我的问题的根源。我在这里更新代码以反映这一点


我如何隐藏
div
直到按钮单击,而不阻止row命令正确触发?

首先,您应该在项目模板中将命令名指定给按钮,如下所示:

<ItemTemplate>
    <asp:Button ID="Btn1" CssClass="SelectRow" CommandName="Sign" runat="server"
        CausesValidation="false"
        CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" 
        Text="" />
</ItemTemplate>

首先,应将命令名分配给项模板中的按钮,如下所示:

<ItemTemplate>
    <asp:Button ID="Btn1" CssClass="SelectRow" CommandName="Sign" runat="server"
        CausesValidation="false"
        CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" 
        Text="" />
</ItemTemplate>

将它从
按钮
更改为
链接按钮
,它就会工作

<ItemTemplate>
    <asp:LinkButton ID="btnSelectPayee" runat="server" CommandName="SelectPayee" 
        CommandArgument='<%# Eval("TaxID") %>' >Select</asp:LinkButton>
</ItemTemplate>


将它从
按钮更改为
链接按钮
,它就会工作

<ItemTemplate>
    <asp:LinkButton ID="btnSelectPayee" runat="server" CommandName="SelectPayee" 
        CommandArgument='<%# Eval("TaxID") %>' >Select</asp:LinkButton>
</ItemTemplate>


您的页面中是否有
enableventvalidation=“true”
?@AfnanAhmad-我的代码中根本没有明确设置
enableventvalidation
。我已经尝试将其设置为
true
false
,但结果没有任何变化。让我感到奇怪的是,我在该页面上有另一个GridView,可以正常工作。据我所知,除了名称(当然)和另一个GridView使用
而不是常规按钮之外,所有代码都是相同的。我偶尔会遇到这种情况。一旦我用尽一切,我删除了网格并重新制作。这就解决了问题。不过我不知道为什么。另外,为了好玩,设置
CommandArgument=“test”
。如果您的某个项目为空,这应该无关紧要,但您永远不会知道。您的页面中是否有
enableventvalidation=“true”
?@AfnanAhmad-我的代码中根本没有显式设置
enableventvalidation
。我已经尝试将其设置为
true
false
,但结果没有任何变化。让我感到奇怪的是,我在该页面上有另一个GridView,可以正常工作。据我所知,除了名称(当然)和另一个GridView使用
而不是常规按钮之外,所有代码都是相同的。我偶尔会遇到这种情况。一旦我用尽一切,我删除了网格并重新制作。这就解决了问题。不过我不知道为什么。另外,为了好玩,设置
CommandArgument=“test”
。如果您的某个项目为空,这应该无关紧要,但您永远不会知道。这并没有解决我的问题。RowCommand仍然没有启动。我还更新了问题。我发现,从其父级
div
中删除GridView可以使row命令正确启动。我猜我的问题源于这样一个事实:在单击按钮之前,我一直在隐藏GridView。我只是不知道如何修复它。这并没有解决我的问题。RowCommand仍然没有启动。我还更新了问题。我发现,从其父级
div
中删除GridView可以使row命令正确启动。我猜我的问题源于这样一个事实:在单击按钮之前,我一直在隐藏GridView。我只是不知道如何修复它。
<ItemTemplate>
    <asp:LinkButton ID="btnSelectPayee" runat="server" CommandName="SelectPayee" 
        CommandArgument='<%# Eval("TaxID") %>' >Select</asp:LinkButton>
</ItemTemplate>