質問

私はASP.Net ページの一覧が表示オプションはユーザーが行います。いリストから選択で、ドキュメントを問い合わせは、sqlサーバーです。その結果に表示されlistview以下のオプションが更新されます。以下に、スニペットのItemTemplate:

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

のDataItemIndexが表示されませんので、私のcommandargumentは空になります。しかし、オブジェクトの送信者のボタンで表示する項目です。

なぜそのような指標にくいに登場するCommandArgument?

が入っているのか、それとも後戻ってきたのか?その場合、なぜなのだろうか。はしてもらえると助かりますか?

編集:だから私が解決しようとすれ以前に掲載して悪いコードされているが、それでもなんです。

分解能:またもう一つの作品の周りには、送信者のOnCommandのリンクボタンのCommandArgument.私はチョークはこの問題に問題には複数の供とが可能です。

役に立ちましたか?

解決

ご使用になれません <%= %> 書式の中性タグ付 runat="server" 属性。だと思いますが、良いモノのコードです。:)

更新:

ほとんどの場合にご使用になりたいItemDataBoundイベントのリピーターのlinkbuttonの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

他のヒント

あなたがそれを設定していない

あなたはおそらくしたい。

<%# Container.DataItemIndex %>

または

<%= Container.DataItemIndex %>

:)

試してみてください
<asp:LinkButton Text="Save IT" OnCommand="SaveIt" CommandArgument="<%# Container.DataItemIndex %>" runat="server" />

あなたが "#" 記号を欠落していた。

このサイトは本当にこの問題で私を助けた: http://forums.asp.net/t /1671316.aspxする

私はに走った問題は、私は、ボタンの上に二度目にクリックしたときに私はcommandargumentでヌルの引数が渡されていたということでした。ポストは、上記のように説明しcommandargumentのみデータバインドイベントに設定されているため、これがあります。だから、この問題を解決するために、Page_Loadのサブでのデータバインドイベントを含める

例。 (VB)

Private Sub BindSelectButtons()       

    'Purpose: bind the data to the select buttons for commandargument to be used
    Dim i As Integer
    For i = 0 To gridview1.Rows.Count - 1
        gridview1.Rows(i).Cells(8).FindControl("btnID").DataBind()
    Next
End Sub

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

    'Rebind select buttons so that the commandargument refreshes
    BindSelectButtons()
End Sub

必ずビューステートが有効にされていることを確認し e.Row.EnableViewStateは真=。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top