从GridView外部的事件更改模板字段中文本框的值

时间:2013-05-01 16:56:16

标签: c# javascript asp.net gridview

我需要能够从TextChanged事件更改GridView模板字段中的TextBox的值。因此,用户可以在Gridview外部的TextBox中输入一些文本,然后GridView中的TextBox会更新为用户输入的内容。

这就是我需要做的事情:

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
    template_text_box1.Text( in template field ) = TextBox1.Text << (TextBox1)( outside of gridview )
}

我试过了FindControl。这需要在不使用任何GridView事件的情况下发生。我很难过。有人能指出我正确的方向吗?也许是一些JavaScript?

2 个答案:

答案 0 :(得分:0)

我相信您需要为显示定义一个单独的TextBox,并执行以下操作:

double value1;

private void template textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
    if textBox1.Text (Double.TryParse(textBox1.Text, out value1))
    {
        textBox15 = value1.ToString();
    }
}

通过这种方式,您可以在网格外部创建其他TextBox,并且可以调用它并设置为输入的值。

答案 1 :(得分:0)

在.Aspx页面上,在GridView列模板TextBox中添加一个CSS类。

<asp:TextBox ID="TextBox1" runat="server" CssClass="box-to-change" Text=""></asp:TextBox>

同样在.Aspx页面上添加一个使用jQuery的JavaScript函数:

<script type="text/javascript">
function updateAllTextboxes(value)
{
    $('input.box-to-change').val(value);
}
</script>

在代码隐藏中添加JavaScript函数作为客户端OnChange事件(不需要PostBack)。

otherTextBox.Attributes["onchange"] = "updateAllTextboxes(this.value)";