2011-01-26 80 views
0

如何绑定到文本框并在按钮单击时检索修改后的值。将文本框绑定到值

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      Sku objSku = new Sku(); 
      objSku.Name = "Test"; 
      Sku = objSku; 
      frm.DataSource = Sku; 
      frm.DataBind(); 
     } 
     if (IsPostBack) 
     { 

      Sku = ViewState["Sku"] as Sku; 
     } 

    } 

    public Sku Sku { get; set; } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     //Hers sku.Name should be equal to the value entered by the user . so that I can save the object. 

    } 

} 
[Serializable] 
public class Sku 
{ 
    public string Name { get; set; } 
} 

HTML代码

<form id="form1" runat="server"> 
    <div> 
    <asp:FormView runat="server" ID="frm" > 
    <ItemTemplate> 


     </ItemTemplate> 
    </asp:FormView> 
    <asp:TextBox ID="TextBox1" Text='<%# Bind("Name") %>' runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 
    </div> 
    </form> 

回答

1

你有你的文本框直接访问,因为它在FormView的并不是这样,我想你可能需要在一个小的清晰

String val= Textbox1.Text; 
Textbox1.Text="what ever you are binding?" 

您问题,因为我不明白你在做什么?

0

它看起来像你已经绑定到显示数据的字段。这不工作?在您的按钮点击事件处理程序中,您可以从TextBox1.Text中检索当前值。

+0

但我想我的SKU对象与文本框的值被更新(它应该自动通知SKU对象,有没有我与设置在点击按钮明确地反对价值的事情。这是可能的。(注一没有将这些控件放在窗体视图中,它们不在其中。) – user476566 2011-01-26 16:55:07

0

如果您想在回发中更新您的视图,则需要更新绑定。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     Sku objSku = new Sku(); 
     objSku.Name = "Test"; 
     Sku = objSku; 
    } 
    if (IsPostBack) 
    { 

     Sku = ViewState["Sku"] as Sku; 
    } 
    frm.DataSource = Sku; 
    frm.DataBind(); 

}