如何从内容页面访问TextArea值

时间:2014-08-27 15:10:54

标签: c# asp.net textarea updatepanel

我的内容页面中有一个TextArea控件,位于UpdatePanel:

<asp:UpdatePanel runat="server" ClientIDMode="Static" ID="upTaskDetailRight" UpdateMode="Conditional">
    <ContentTemplate>
        <div style="width: 98%; padding-bottom: 10px;" class="brClear">
            <div style="width: 98%; height: 120px;">
                <textarea id="taskNotes" runat="server" class="taskNotes" style="width: 100%; height: 100%; scrollbar-base-color: #A0A0A0; scrollbar-base-color: #A0A0A0; scrollbar-3dlight-color: #A0A0A0; scrollbar-highlight-color: #A0A0A0; scrollbar-track-color: #EBEBEB; scrollbar-arrow-color: #FFFFFF; scrollbar-shadow-color: #A0A0A0; scrollbar-darkshadow-color: #A0A0A0;"></textarea>
            </div>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

我的MasterPage中有一个按钮,它从内容页面访问TextArea值并更新SQL数据库:

<asp:Panel ID="Panel93" runat="server" CssClass="navInnerDivContentsTopSubTwo">
    <asp:ImageButton ID="ibSave" ImageUrl="~/theImages/Save.png" runat="server" CssClass="navImages" OnClick="btnSave_Click" />
    <br />
    <asp:LinkButton ID="btnSave" runat="server" Text="Save" ClientIDMode="Static" OnClick="btnSave_Click" CssClass="linkOff" />
</asp:Panel>

代码隐藏:

System.Web.UI.HtmlControls.HtmlTextArea lblTDNotes;
lblTDNotes = (System.Web.UI.HtmlControls.HtmlTextArea)ContentMain.FindControl("taskNotes");
protected void btnSave_Click(object sender, EventArgs e)
{
    string strSaveQuery = @"UPDATE HSI.RMMEMO SET MEMO = '" + lblTDNotes.Value + "' WHERE MEMOID = '" + hfMemoIDYT.Value  + "'";
    //MessageBox.Show(strSaveQuery);

    using (SqlConnection scConn = new SqlConnection(strMainConn))
    {
        try
        {
            scConn.Open();
            SqlCommand cmd = new SqlCommand(strSaveQuery, scConn);

            cmd.ExecuteNonQuery();

            Response.Redirect("YourTasks.aspx");
        }
        catch (Exception ce)
        {
        }
    }
}

当页面加载时,TextArea会有一些预先填充的数据。如果我对TextArea数据进行任何更改(添加或删除文本)并点击Master页面中的SAVE按钮,lblTDNoted.Value中的strSaveQuery正在使用预先填充的数据,而不是更新的条目。

如何从textarea获取更新的条目?

1 个答案:

答案 0 :(得分:1)

<triggers>添加到您的UpdatePanel

<asp:UpdatePanel runat="server" ...>
    <ContentTemplate>
        ...
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>