gpt4 book ai didi

asp.net - 为什么我的 CommandArgument 为空?

转载 作者:行者123 更新时间:2023-12-02 22:46:32 25 4
gpt4 key购买 nike

我有一个 ASP.Net 页面,它向用户显示选项列表。当他们从列表中进行选择时,它会回发并查询 SQL Server。结果显示在更新面板选项下方的 ListView 中。以下是 ItemTemplate 的片段:

<asp:LinkButton Text="Save IT" OnCommand="SaveIt" CommandArgument="<%# Container.DataItemIndex %>" runat="server" />

DataItemIndex 未出现,因此我的命令参数为空。然而,对象发送者是显示项目的按钮。

为什么索引项没有出现在 CommandArgument 中?

可能是回帖吗?如果是这样,为什么会被退回?有办法解决吗?

编辑:抱歉,从我之前尝试解决该问题的角度来看,我发布了错误的代码,但它仍然没有出现。

分辨率:我发现了另一种解决方法,OnCommand 的发送者是链接按钮,其中包含 CommandArgument。我将把这个问题归结为多个回发和 JavaScript 的问题。

最佳答案

您不能使用<%= %>带有 runat="server" 的标签属性内的语法属性。我很惊讶代码竟然还能运行。 :)

更新:

您可能想要在转发器上使用 ItemDataBound 事件,找到链接按钮并设置 CommandArgument 属性。

不是很优雅,但这里有一个 VB.NET 示例。

Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem
Dim b As LinkButton = e.Item.FindControl("btn")
b.CommandArgument = e.Item.ItemIndex
b.DataBind()
End Select
End Sub

关于asp.net - 为什么我的 CommandArgument 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1382087/

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