在我的asp页面中,我得到了:
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
<asp:DropDownList ID="_SCP_ddlStatutDelais" runat="server"></asp:DropDownList>
<asp:TextBox ID="_SCP_tbTypeMiseProduction" Rows="3" runat="server" TextMode="MultiLine"></asp:TextBox>
<asp:Button ID="_btSend" runat="server" Text="Envoyer" CssClass="ms-ButtonHeightWidth"
onclick="_btSend_Click"/>
</asp:Content>
然后,在我后面的代码中,我从数据库中获取值以在我的 Page_Load 中提供我的 TextBox 和 DDL,并且它可以工作。
然后,我想用用户修改的值更新我的数据库,所以我尝试在 TextBox 中获取文本,但我只能从我的数据库中获取文本,而 myTextBox.Text 忽略用户修改的文本。
代码背后:
protected void _btSend_Click(object sender, EventArgs e)
{
Control context = this.Page.Master.FindControl("PlaceHolderMain");
//Informations Database Connection etc...
reflector.Set(d[fieldtomap],rootTypeDescriptor, ref instance, ((TextBox)(context.FindControl(nodeName))).Text);
//Submit update to database
}
例如,如果我从我的数据库中获取:“Test”,我将输入我的 TextBox“Test”。然后用户修改此值,然后使用按钮验证 ((TextBox)(context.FindControl(nodeName)))。文本始终包含“测试”并忽略用户的修改。