Как написать и выполнить обработчик событий textp asp.net в JavaScript и код позади обоих? - PullRequest
0 голосов
/ 22 декабря 2010

чистый веб-сайт, у меня есть контроль текстового поля внутри элемента управления сеткой данных.

Я хотел бы добавить событие textchange в javascript, где мне нужно суммировать значения внутри текстовых полей в сетке данных и показать это добавление в lable вне сетки.

Я также хотел бы сделать то же самое дополнение в codebehind (*. Cs)

Но codebehind выполняется только тогда, когда браузер не поддерживает Javascript. Это означает, что когда браузер поддерживает JavaScript только на стороне клиента, JavaScript должен выполняться не на стороне сервера

1 Ответ

0 голосов
/ 22 декабря 2010

Используете ли вы текстовые поля как EditItemTemplate?Если это так, в текстовые поля в EditItemTemplate добавьте событие OnTextChanged - Textbox1_OnTextChanged, как показано ниже.

<asp:DataGrid ID="Grid" runat="server">
        <Columns>
            <asp:TemplateColumn>
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" OnLoad="TextBox1_Load" OnTextChanged="Textbox1_OnTextChanged"></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateColumn>
        </Columns>
    </asp:DataGrid>

Затем вы можете суммировать значения на стороне сервера.

Также вам необходимодобавьте событие Load (Textbox1_OnLoad) в шаблон EditItemTemplate для текстового поля, чтобы связать клиентское событие текстового поля, как показано ниже.

 protected void TextBox1_Load(object sender, EventArgs e)
    {
        TextBox newTb = sender as TextBox;
        if (newTb != null)
        {
            newTb.Attributes.Add("onChange", "sumup(this)");
        }
    }

В Javascript вы можете обработать событие суммирования и получить значение текстовых полей, используя этот объект, и добавить значения.Если javascript поддерживается, сумма будет рассчитана, и вы должны вернуть false в конце функции суммирования, чтобы остановить обратную передачу.

Если javascript не поддерживается, то метод не будет вызываться и обратная передачабудет автоматически запущен.

Надеюсь, что это даст вам лучшее представление.

С уважением,

Lakxman Kumar C

...