1

いくつかのテンプレート列を含む1つのグリッドビューがあります。この場合、最初の列には「読み取り」という名前のチェックボックスが含まれ、4番目と5番目の列にはasp:linkボタンが含まれます。ユーザーが読み取りチェックボックスをクリックした場合は、両方のリンクボタンを有効にする必要があります(最初は無効モードです)。このJavaScriptコードを使用して無効にしました。しかし、私は解決策を得ることができませんでした。この解決策を達成するために私を助けてください。前もって感謝します..

 function EnablePermissoin(chkB, cellNumber1, cellNumber2) {
        var IsChecked = chkB.checked;
        if (IsChecked) {

            var cell = chkB.parentElement.parentElement.cells[cellNumber1];
            for (i = 0; i < cell.childNodes.length; i++) {
                if (cell.childNodes[i].type == "linkbutton") {

                    cell.childNodes[i].disabled = false;
                }
            }

        }
    }
  <asp:TemplateColumn HeaderText="Read" ItemStyle-HorizontalAlign="Center">
                                                                        <ItemTemplate>
                                                                            <asp:CheckBox ID="chkRead" runat="server" Text='<%# Eval("Read") %>' onclick="javascript:EnablePermissoin(this,5,6);" />
                                                                        </ItemTemplate>
                                                                    </asp:TemplateColumn>
4

2 に答える 2

1

Linkbutton は、アンカー (a) タグが java-script としてレンダリングされます。したがって、スクリプトの一部を次のように変更する必要があります

...
    if (cell.childNodes[i].tagName == "A") {
          cell.childNodes[i].disabled = false;
    }
...
于 2010-10-18T11:20:25.157 に答える
0

あなたはこれがうまくいっていることを試すことができます。

Dim dgi1 As DataGridItem
            For Each dgi1 In dtupdatebatch.Items
                CType(dgi1.FindControl("Linkbutton1"), LinkButton).Enabled = False

            Next
于 2014-01-06T11:22:34.073 に答える