gpt4 book ai didi

asp.net - Gridview Linkbutton 代码隐藏

转载 作者:行者123 更新时间:2023-12-02 13:37:15 24 4
gpt4 key购买 nike

到目前为止,我一直在使用 VS 2003,最近迁移到 VS 2008。我面临着一些特殊的问题。

在 Vs 2003 中,我有一个 Datagrid,其中一个字段是 ButtonField(链接按钮)。它不是模板字段。用户单击该字段并生成一些数据。

我在 dg_ItemCommand 上用 Vb 编写了这样的代码:

Strid = Ctype(e.commandsource,linkbutton).text

现在我想对gridview使用相同的方法(我认为datagrid是2008年的gridview)。我在dg_Rowcomand

上写了这样的代码
Private Sub dgSampleCustomer_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgSampleCustomer.RowCommand 
Try
Dim strid As String
Dim i As Integer
strid = CType(e.CommandSource, LinkButton).Text
...

它抛出一个错误。

Unable to cast object of type 'System.Web.UI.WebControls.GridView' to type 'System.Web.UI.WebControls.ButtonField'.

谁能帮帮我!

最佳答案

看起来命令的来源是 GridView 本身,而不是您单击的按钮。您可能想要做的是在链接按钮的“CommandArgument”属性中设置您要查找的值。标记看起来像这样:

<asp:LinkButton ID="myLinkButton" runat="server"
CommandName="MyCommandName"
CommandArgument="MySpecialValue"
Text="Click Me" />

如果您只需:

' strid = "MySpecialValue"
strid = e.CommandArgument.ToString()

您现在可以轻松地从命令中获取 ID,而不是从控件名称中获取 ID。在这种特殊情况下,CommandName 是可选的,但如果网格上有多个执行不同操作的按钮(例如“编辑”和“删除”),它会派上用场。然后你可以使用命令名称在同一个事件中以自己的方式处理每个命令:

If (e.CommandName = "Edit") Then
' Do Some Edit Code
End If

关于asp.net - Gridview Linkbutton 代码隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com