[英]Make text appear in a textbox when clicking on button
I have some text which I want to appear in a textbox which I click on the linkbutton "Edit" As you can see I have CommandNames
and CommandArguments
on those linkbuttons so I need a solution which can be written in the codebehind (.cs) as I got an if (e.CommandName == "Edit")
我有一些文本想要显示在单击“编辑”链接按钮的文本框中。如您所见,我在这些链接按钮上具有CommandNames
和CommandArguments
,因此我需要一种可以在代码隐藏(.cs)中编写的解决方案,如下所示:我得到一个if (e.CommandName == "Edit")
I haven't tried anything, as I can't find anything about it, neither in my head. 我没有尝试过任何东西,因为找不到任何东西,也没有发现。
<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();
}
You could use DataGridView using OnRowCommand.. something like this: 您可以使用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";
}
}
This is what you have to do: 这是您要做的:
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.