【问题标题】:How to access the TextArea value from a content page如何从内容页面访问 TextArea 值
【发布时间】:2014-10-21 06:06:40
【问题描述】:

我的内容页面中有一个 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 数据进行任何更改(添加或删除文本)并点击母版页中的 SAVE 按钮,则来自 strSaveQuerylblTDNoted.Value 使用的是预先填充的数据,而不是更新的条目。

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

【问题讨论】:

    标签: c# asp.net textarea updatepanel


    【解决方案1】:

    &lt;triggers&gt; 添加到您的UpdatePanel

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

    【讨论】:

    • 到文本区域的更新面板?
    • 第一次成功了,但第二次我添加了一些东西,它没有保存:/
    • 当我第一次输入文本并单击“保存”时,它已正确保存,但是当我离开页面并返回该页面并更改文本并单击“保存”时,它不会保存更新而是继续保存我第一次输入的文本。知道为什么会这样吗?
    • 也许您应该尝试将 UpdateMode 更改为 Always,而不是使用触发器
    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多