C# 如何更改gridview中行中文本框的值?
我从gridview中的文本框中获取值,并尝试使用两个不同的按钮更改值。(增加和减少按钮)第一次单击有效,而不是无效 我正在检查浏览器的控制台以获取信息,我得到了以下信息:“XHR已完成加载:POST”您知道为什么按钮单击只能工作一次吗 以下是我的加薪代码:C# 如何更改gridview中行中文本框的值?,c#,button,gridview,textbox,aspxgridview,C#,Button,Gridview,Textbox,Aspxgridview,我从gridview中的文本框中获取值,并尝试使用两个不同的按钮更改值。(增加和减少按钮)第一次单击有效,而不是无效 我正在检查浏览器的控制台以获取信息,我得到了以下信息:“XHR已完成加载:POST”您知道为什么按钮单击只能工作一次吗 以下是我的加薪代码: public void btn_increase_Click(object sender, EventArgs e) { foreach(GridViewRow row in gridview1.Rows) { Tex
public void btn_increase_Click(object sender, EventArgs e)
{
foreach(GridViewRow row in gridview1.Rows)
{
Textbox quantity = (Textbox)row.FindControl("txt_quantity");
int input_quantity = Convert.ToInt32(quantity.Text);
if(input_quantitiy >= 0)
{
quantity.Text = Convert.ToString(input_quantity + 1);
}
}
}
更新的如果您完全从程序中复制了该代码,您可以尝试修复一些问题,这些问题可能会有所帮助:
语句中的if()
拼写错误input\u quantity
- 将if语句中的
和=
互换,当前也没有检查大于或等于,而是一个
表达式lambda
TextBox quantity = txt_quantity;
int input_quantity = Convert.ToInt32(quantity.Text);
if (input_quantity >= 0)
{
quantity.Text = Convert.ToString(input_quantity + 1);
}
我找到了一个非常简单的解决方案。如果您的按钮单击不起作用,并且XHR已完成加载:在浏览器上发布错误。检查您的
页面\u加载
,如果页面没有像这样回发,请确保将gridview绑定到:
if(!IsPostBack)
{
gridview.DataSource = dataset.Tables[0];
gridview.DataBind();
}
这是我的错误,我只是写了代码而不是复制/粘贴。我的if语句和你的一样。我不知道为什么在浏览器上出现“获取”错误后只处理第一次单击。您是否能够在网格视图中的每一行中引用循环外的文本框,或者您是否有多个文本框?我上面包含的代码没有使用foreach循环,它正确地增加了文本框。这是一个网格视图,当然,如果您有十行,那么您可以更改十行上的值。看来这一次效果不错,因为我可以增加/减少一次。(-1/+1)没有任何问题。如果我设置为20,则文本框为20。我只想用我的代码增加或减少每次点击。嘿,我找到了一个解决方案。这是关于页面加载的,代码运行良好。我分享了答案,希望对你有帮助。