我需要能够从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?
答案 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)";