gpt4 book ai didi

c# - 动态表 : Link button to textbox cell by cell

转载 作者:行者123 更新时间:2023-11-30 17:29:16 28 4
gpt4 key购买 nike

我有一个动态表,其中每一行都有一个文本框 (txtCantitate) 和一个按钮 (btnMinus)。在文本框中我有数量 (int) 并在按钮上单击我希望数量减少一个。在这里你有我在 table 上的东西:

你能帮我编写按钮的代码吗?问题是它是一个动态按钮...在每条记录上它都有相同的 ID...我不知道该怎么做...

我在项目中使用的语言 C#、.NET 4.5、js、Jquery。

cell = new HtmlTableCell();
HtmlInputButton btnMinus = new HtmlInputButton();
btnMinus.ID = "btnMinus";
btnMinus.Value = "-";
cell.Controls.Add(btnMinus);
row.Cells.Add(cell);

cell = new HtmlTableCell();
HtmlInputText txtCantitate = new HtmlInputText();
txtCantitate.ID = "txtCantitate";
txtCantitate.Value = publicatie.Cantitate.ToString();
cell.Controls.Add(txtCantitate);
row.Cells.Add(cell);

最佳答案

您需要在按钮上设置一个点击事件,它将执行您想要的操作:

您需要设置文本框和按钮的 ID 以匹配您首先所在的行+单元格索引...因为这些是 HtmlControls,您实际上没有它们的索引,所以您将拥有找到一种方法以某种方式将它们放入其中(抱歉,我不会为您编写代码)。

btnMinus.ID = "btnMinus_" + CurrentRowIndex.ToString() + "_" + CurrentCellIndex.ToString();
txtCantitate.ID = "txtCantitate_" + CurrentRowIndex.ToString() + "_" + CurrentCellIndex.ToString();

然后您将必须设置事件处理程序...

服务器端点击事件处理程序 setter (实际事件处理程序代码见下文):

btnMinus.Click += myButtonClick;

客户端点击事件处理程序 setter :

btnMinus.Attributes.Add("onclick","JavaScript:myButtonClick(this);");

如果您想在服务器端执行事件处理程序代码:

private void myButtonClick(object sender, EventArgs e)
{
Button tmp = sender as Button;
string[] id = tmp.ID.Split(new string[]{"_"}, StringSplitOptions.None);
string textbox_ID = "txtCantitate" + "_" + id[1] + "_" + id[2];
TextBox txt = this.Controls.FindControl(textbox_ID) as TextBox;
int val = -1;
string finaltext = "";
if(int.TryParse(txt.Text, out val))
finaltext = (val-1).ToString();
else
finaltext = "Invalid number, Cannot decrement!";

txt.Text = finaltext;
}

如果您想在客户端执行事件处理程序代码:

function myButtonClick(object sender)
{
//i'll let you figure this one out for yourself if you want to do it client-side, but it's very similar to the server-side one as far as logic is concerned...
}

关于c# - 动态表 : Link button to textbox cell by cell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com