簡體   English   中英

單擊按鈕時使文本顯示在文本框中

[英]Make text appear in a textbox when clicking on button

我有一些文本想要顯示在單擊“編輯”鏈接按鈕的文本框中。如您所見,我在這些鏈接按鈕上具有CommandNamesCommandArguments ,因此我需要一種可以在代碼隱藏(.cs)中編寫的解決方案,如下所示:我得到一個if (e.CommandName == "Edit")

我沒有嘗試過任何東西,因為找不到任何東西,也沒有發現。

設計人員代碼:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand">
    <asp:ItemTemplate>
        <tr>
            <td>
                <asp:TextBox ID="TextBox_Text" runat="server" Text='<%# Eval("Text") %>'>
            </td>
            <td>
                <asp:LinkButton ID="LinkButton_Save" runat="server" CommandName="Save" CommandArgument='<%# Eval("Id") %>'> Save </asp:LinkButton>
            </td>
            <td>
                <asp:LinkButton ID="LinkButton_Edit" runat="server" CommandName="Edit" CommandArgument='<%# Eval("Id") %>'> Edit </asp:LinkButton>
            </td>
            <td>
                <asp:LinkButton ID="LinkButton_Delete" runat="server" CommandName="Delete" CommandArgument='<%# Eval("Id") %>'> Delete </asp:LinkButton>
            </td>
        </tr>
    </asp:ItemTemplate>
</asp:Repeater>

<asp:SqlDataSource runat="server" ID="SqlDataSource_Forside" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' SelectCommand="SELECT * FROM [Table1]"> <asp:SqlDataSource>


后面的代碼:


if (e.CommandName == "Edit")
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString =
            ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "Select * FROM Table1 WHERE Id = @Id";


        cmd.Parameters.Add("@Id", SqlDbType.Int).Value = e.CommandArgument.ToString();

        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();

        if (reader.Read())
        {
            TextBox_Edit.Text = reader["Text"].ToString(); // i dont have the textbox yet..
        }
        conn.Close();

        Repeater1.DataBind();

    }

您可以使用OnRowCommand來使用DataGridView。

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
        if (e.CommandName == "Delete")
        {
           id = Convert.ToInt32(gridName.DataKeys[Convert.ToInt32(e.CommandArgument)]["id_DataKey"].ToString());
           TextBox txt = (TextBox)e.Row.FindControl("txtBoxName");
           txt.Text = "Removed";
        }
}

這是您要做的:

if (e.CommandName == "Edit")
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString =
        ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();

    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandText = "Select * FROM Table1 WHERE Id = @Id";


    cmd.Parameters.Add("@Id", SqlDbType.Int).Value = e.CommandArgument.ToString();

    conn.Open();
    SqlDataReader reader = cmd.ExecuteReader();


    TextBox_Text.Text=reader["Text"].ToString();;

    conn.Close();

    Repeater1.DataBind();

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM