我有一个页面,其中包含用户控制。
页面数据网格绑定列由用户控件填充(用户控件有一个数据网格,其项目采用项目模板的形式)。
此用户控件有一列包含编辑保存取消按钮。
用户控件还有其他列,它们是复选框,里面的下拉列表(项目模板)。
我正在使用项目命令事件,当单击编辑链接时,它应该获取名为“描述”的列的当前行值,出于测试目的,我将此值放入名为“ Tdval ”的文本框中。
Tdval 文本框是空的,当我检查断点时,看起来项目命令事件并非全部触发(因为未命中断点)。
我不明白为什么。
当我单击编辑链接时,该页面没有发回。
它只是用户控制链接按钮。请帮我。
原谅任何错误,我对此很陌生。提前致谢。
HTML:
<tr>
<asp:datagrid ID="dgDetails"
EnableViewState="true"
runat="server"
onItemCommand="dgDetails_ItemCommand"
allowpaging="false"
allowcustompaging="false"
autogeneratecolumns="false"
allowsorting="true"
backcolor="white"
Width="100%"
horizontalalign="center"
Font-bold="true"
Font-Names="Verdana"
Font-size="7pt"
BorderColor="Silver" >
<columns>
<asp:BoundColumn DataField="ID" Visible="true"></asp:BoundColumn>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Left"
HeaderText="Description"
HeaderStyle-Width="320px" >
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server">
<%#DataBinder.Eval(Container.DataItem, "Description")%>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left"
HeaderText="Pr."
HeaderStyle-Width="20px" >
<ItemTemplate>
<asp:CheckBox ID="chkPrimary" runat="server" Enableviewstate="true">
</asp:CheckBox>
</ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server"
CommandName="Edit">Edit
</asp:LinkButton>
</columns>
</asp:datagrid>
</tr>
<tr>
<td>
<asp:TextBox ID="Tdval" runat="server"> </asp:TextBox>
</td>
代码背后:
Public Sub dgDetails_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgDetails.ItemCommand
Select Case e.CommandName
Case "Edit"
Dim intRow As Integer
intRow = e.Item.ItemIndex
Dim dgRow As DataGridItem
dgRow=dgDetails.Items.Item(intRow)
Dim val As String
val=Ctype(dgRow.Cells(0).Text, String) (Description column)
Tdval.Text=val.Text
End Select
End Sub