我有这个脚本
<asp:TextBox ID="ItmCde" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control" ClientIDMode="Static" name="testing"></asp:TextBox>
<asp:TextBox ID="ItmCde2" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde3" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde4" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde5" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde6" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde7" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="ItmCde8" runat="server" OnTextChanged="Call_Desc" AutoPostBack="true" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc2" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc3" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc4" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc5" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc6" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc7" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
<asp:TextBox ID="Desc8" runat="server" Enabled="False" CssClass="form-control"></asp:TextBox>
我希望它像这样工作:当我改变ItmCod
时,Desc
改变。当我改变ItmCod2
时,Desc2
改变。当我改变ItmCod3
时,Desc3
改变。等等。
我所知道的就是更改文本框,您必须执行以下操作
Desc.Text ="some value"
如何使用这样的变量更改文本框的值
somestringvariable+1.Text="some value"
somestringvariable+2.Text="some value"
我是这种编程语言的新手。请解释更多。或者给我一些方向。谢谢
您已经在 OnTextChanged 上订阅了"Call_Desc",所以它很简单,如下所示:
public void Call_Desc(object sender, EventArgs e)
{
switch(((TextBox)sender).ID)
{
case "ItmCde":
Desc.Text = ((TextBox)sender).Text;
break;
case "ItmCde2":
Desc2.Text = ((TextBox)sender).Text;
break;
case ..
}
}
抱歉,如果缺少任何拼写错误,因为我没有在 IDE 上对其进行测试,但它应该可以工作
像这样: 这个编译并运行。
protected void Call_Desc(object sender, EventArgs e)
{
switch ((sender as TextBox).ID)
{
case "ItmCde":
//actions
Desc.Text = ItmCde.Text;
break;
case "ItmCde2":
Desc2.Text = ItmCde2.Text;
//actions
break;
default:
break;
}
}
更新:
protected void Call_Desc(object sender, EventArgs e)
{
string mainTextBox = "ItmCde";
string secondaryTextBox = "Desc";
// Get a reference to the ContentPlaceHolder
ContentPlaceHolder MainContent = this.Master.FindControl("MainContent") as ContentPlaceHolder;
int ix = 0, index = 0;
if ((sender as TextBox) != null)
{
ix = (sender as TextBox).ID.IndexOf(mainTextBox);
if (ix != -1)
{
int.TryParse((sender as TextBox).ID.Substring(ix + mainTextBox.Length), out index);
secondaryTextBox = index > 0 ? secondaryTextBox + index : secondaryTextBox;
mainTextBox = index > 0 ? mainTextBox + index : mainTextBox;
(MainContent.FindControl(secondaryTextBox) as TextBox).Text = (MainContent.FindControl(mainTextBox) as TextBox).Text;
}
}
}
这将导致回发(小闪烁(。否则,你也可以使用Javascript JQuery来达到想要的效果。