0

簡単なことをしたい。ユーザーがアイテムにメモを追加できるようにするリピーターアイテムにテキストボックスがあります。私のコードは機能していません。何も起こっていないようです。

ASPX:

        <asp:Repeater ID="rptList" runat="server" ViewStateMode="Enabled">
                            <HeaderTemplate></HeaderTemplate>

                            <ItemTemplate>

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                                        <ContentTemplate>
                                    <asp:TextBox ID="NoteTextBox" runat="server"></asp:TextBox>
   <asp:Button ID="SubmitNote" runat="server" Text="Button" OnClick="lnkClient_Click" CommandName="AddNote" CommandArgument='<%# Eval("UID")%>'/>                                       


    <asp:Label ID="ShowNotes" runat="server" Text='<%# getNotes(Eval("UID").ToString())%>'></asp:Label>
                                            </ContentTemplate>
</asp:UpdatePanel>

CODEBEHIND - これは、クリック時に実行する必要があるものです。SQL コードを Response.Write に置き換えました。

public void lnkClient_Click(object sender, EventArgs e)
    {
        Button btn = (Button)(sender);
        string FID = btn.CommandArgument.ToString();            
        string note = ((TextBox)rptList.Items[0].FindControl("NoteTextBox")).Text;
        Response.Write(FID + " " + note);

    }

更新: いくつかの設定を変更しましたが、現在私が抱えている唯一の問題は、クライアント側で入力されたテキストがコマンドに渡されないことです。

4

1 に答える 1

2

これを試して

 protected void Repeater_OnItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName.Equals("AddNote"))
            {       
            string FID =e.CommandArgument.ToString();    
            TextBox txtNote=e.Item.FindControl("NoteTextBox") as TextBox;    
            string note=txtNote.Text; 
            Response.Write(FID + " " + note);
            }
    }

そしてマークアップで

<asp:Repeater ID="rptList" runat="server" OnItemCommand="Repeater_OnItemCommand" ViewStateMode="Enabled">
于 2012-10-15T18:44:37.613 に答える