2012-06-01 41 views
0

在我的ASP頁我得到:的FindControl文本框不得到物有所值的Sharepoint

<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> 

然後,在後面我的代碼,我從數據庫中值,提供我的文本框和DDL在我的Page_Load,它的工作原理。

然後,我想更新我的數據庫的值由用戶修改,所以我嘗試獲取文本框中的文本,但我只能得到我從我的數據庫中放置的文本,並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 
} 

例如,如果我從我的數據庫獲取:「測試」,我把我的文本框「測試」。然後用戶修改該值,然後使用按鈕((TextBox)(context.FindControl(nodeName)))進行驗證。文本始終包含「Test」並忽略用戶的修改。

回答

1

綁定數據時是否檢查Page.IsPostback?你只應該對初始頁面加載有約束力,否則,改變會被覆蓋 - 就像你正在經歷的一樣。

相關問題