如何绑定到文本框并在按钮单击时检索修改后的值。
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>
答案 0 :(得分:1)
您可以直接访问文本框,因为它不在FormView中:
String val= Textbox1.Text;
Textbox1.Text="what ever you are binding?"
我认为你可能需要在你的问题中有点清楚,因为我不明白你想要做什么?
答案 1 :(得分:0)
看起来您已经绑定到显示数据的字段。这不起作用吗?在按钮单击事件处理程序中,您可以从TextBox1.Text
检索当前值。
答案 2 :(得分: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();
}