テキストボックスのあるGridviewにUserControlがあります。テキストボックスはデータベース呼び出しによって入力され、ユーザーが編集して別の値を保存できます。しかし、別の値を保存しようとすると、何もありません。以下のコード:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string sql;
sql = "select lname from clients order by lname";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
UserControl uc;
TextBox tb;
string name;
foreach (GridViewRow row in GridView1.Rows)
{
uc = (UserControl)row.FindControl("UserInfo1");
tb = (TextBox)uc.FindControl("txt_name");
name = tb.Text;
}
}
}
}
ユーザー コントロール コード:
public partial class UserInfo : System.Web.UI.UserControl
{
public string Name {get;set;}
protected void Page_Load(object sender, EventArgs e)
{
txt_name.Text = Name;
}
protected void Button1_Click(object sender, EventArgs e)
{
string name;
name = this.txt_name.Text;
}
}
}