0

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); }
            }
        }
4

1 に答える 1

1

サーバーコントロールを使用しているため、提供されているjavascript APIも使用する必要があります。そうしないと、コントロールが正しく機能しません。

get_textBoxValue()、set_textBoxValue()stringユーザーが入力したテキストの値を取得または設定します。エラーが含まれている場合、入力コントロールの値として割り当てられません。

于 2013-01-17T16:38:36.633 に答える