更改文本框值,其中 id 等于 "some string"



我有这个脚本

<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来达到想要的效果。

最新更新