【问题标题】:Textbox is not keeping values or losing values after post back on telerik textbox which are inserted or appended via Javascript在通过Javascript插入或附加的telerik文本框回发后,文本框不保留值或丢失值
【发布时间】:2013-01-01 05:51:53
【问题描述】:

我的 radTextBox 值有问题,通过 JavaScript 插入的值在回发发生后被删除,但通过 c# 插入的值在那里。我正在从 radgrid 中获取值并将它们插入到文本框中。

场景:

1:通过 JavaScript 插入或附加值 2:通过触发回发的c#方法插入或附加值

文本框的 HTML 代码:

<telerik:RadTextBox ID="rtxtToEmail" runat="server" Width="300px" Skin="Office2007"
                            TextMode="MultiLine" ViewStateMode="Enabled">
                        </telerik:RadTextBox>

调用 JavaScript 函数的 Button 的 Html 代码:

<telerik:RadButton ID="rdbtnTo" runat="server" Skin="Office2007" Width="68px" Text="Selected" OnClientClicked="ToSelected" AutoPostBack="false">
                    </telerik:RadButton>   

Javascript 代码:

function ToSelected(sender, args) {
                         var grid = $find("<%=rgWOAssignedType.ClientID %>");
                        var DataItem = grid.get_masterTableView().get_dataItems()[grid._selectedIndexes];
                        var keyValues = DataItem.getDataKeyValue("Email");
                        //alert(keyValues); return false;

                        if (keyValues != "") {
                            document.getElementById("<%= rtxtToEmail.ClientID %>").value +=
                             keyValues + ";"
                        }
                        return false;
                    }

触发回发的按钮点击事件的C#代码:

protected void rbtnToClient_Click(object sender, EventArgs e)
        {
            try
            {
                #region Fill To CLient Email

                if (ViewState["ClientEmail"] != null)
                {
                    if (!string.IsNullOrWhiteSpace(ViewState["ClientEmail"].ToString()))
                    {
                        rtxtToEmail.Text += ViewState["ClientEmail"].ToString() + ";";
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                try { throw new WTLIB.WTException(ex); }
                catch (WTLIB.WTException eX) { eX.WriteToEventLog(); eX.MessageError(Page); }
            }
        }

【问题讨论】:

  • 有可能有一个用于您未使用的 Telerik 控件的 javascript API,这可能会使您尝试的任何操作都不起作用。
  • 解决了在按钮单击时使用服务器端事件并删除了 javascript 代码。

标签: javascript asp.net c#-4.0 textbox telerik


【解决方案1】:

由于您使用的是服务器控件,因此您还必须使用提供的javascript API,否则该控件将无法正常工作。

get_textBoxValue(), set_textBoxValue() 细绳 获取或设置用户输入文本的值。如果它包含错误,则不会将其分配为输入控件的值。

【讨论】:

    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多