0

こんにちは私は次のようにinsertItemTemplateを持っています、そして私がしたいのはユーザーに尋ねることなく、プログラムですべての値を自分で追加することです、もちろん、userID、picID、dateTimeはユーザーに尋ねるべきではありません、もちろんコメントフィールド、サイトに写真についてコメントを残しているので、ユーザーに聞いてみたいと思います:)...シンプルに見えますが、本当にイライラします。

<InsertItemTemplate>
 <span style="">UserID:
 <asp:TextBox Visible="false" ID="UserIDTextBox" runat="server" Text='<%# Bind("UserID") %>' />
 <br />CommentForPicID:
 <asp:TextBox Visible="false" ID="CommentForPicIDTextBox" runat="server" 
  Text='<%# Bind("CommentForPicID") %>' />
 <br />Comment:
 <asp:TextBox TextMode="MultiLine" ID="CommentTextBox" runat="server" Text='<%# Bind("Comment") %>' />
 <br />DateAdded:
 <asp:TextBox Visible="false" ID="DateAddedTextBox" runat="server" 
  Text='<%# Bind("DateAdded") %>' />
 <br />
 <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
  Text="Insert" />
 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
  Text="Clear" />
 <br /><br /></span>
</InsertItemTemplate>
4

1 に答える 1

0

私は以下を試しました、そしてそれはうまくいきました

Protected Sub lvComments_ItemCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewCommandEventArgs) Handles lvComments.ItemCommand
    If e.Item.ItemType = ListViewItemType.InsertItem Then
        Dim tb = New TextBox
        tb = e.Item.FindControl("UserIDTextBox")
        If tb IsNot Nothing Then
            tb.Text = Request.Cookies("UserID").Value
        End If
        tb = Nothing

        tb = e.Item.FindControl("CommentForPicIDTextBox")
        If tb IsNot Nothing Then
            tb.Text = Request.Cookies("ShownPicID").Value
        End If
        tb = Nothing

        tb = e.Item.FindControl("DateAddedTextBox")
        If tb IsNot Nothing Then
            tb.Text = DateTime.Now.ToString
        End If
        tb = Nothing

    End If
End Sub

ItemCreatedイベントで実行できますが、ブラウザーに送信されるデータが変更され、このデータが返送されるため(不必要なラウンドトリップ)、コマンドを受信したときにItemCommandで実行しました。 、コードはまったく同じであり、前述の両方のイベントで機能します!!

于 2009-12-13T18:52:17.867 に答える