Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按钮事件处理程序c#_C#_Asp.net_Visual Studio - Fatal编程技术网

按钮事件处理程序c#

按钮事件处理程序c#,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,我正在制作一个网页,我需要在运行期间定义的文本框中显示一些搜索结果,并使textbox可选在用户单击link按钮时显示这一切正常,直到我在单击链接时使textbox.visible=false出现错误,因为无效LinkButton1\u点击(…)无法找到文本,如果我将文本框定义设置为公共,则只会显示读卡器的最后结果 那么有没有其他方法来控制点击事件 比如: 我不知道我说的是否有意义也许下面的代码有帮助 请帮帮我,我绝望了 我正在使用visual studio、asp.net和c# Pp是一个面板

我正在制作一个网页,我需要在运行期间定义的文本框中显示一些搜索结果,并使
textbox可选
在用户单击
link按钮时显示
这一切正常,直到我在单击链接时使
textbox.visible=false
出现错误,因为
无效LinkButton1\u点击(…)
无法找到
文本,如果我将文本框定义
设置为公共
,则只会显示读卡器的最后结果

那么有没有其他方法来控制点击事件

比如:

我不知道我说的是否有意义也许下面的代码有帮助

请帮帮我,我绝望了

我正在使用visual studio、asp.net和c#

Pp是一个面板

int i=1;
while (reader.Read())
{
    string moreinfo = reader["more_information"].ToString()
    TextBox text = new  TextBox();
    LinkButton ll = new LinkButton();
    ll.ID = "link" + i;
    ll.Text = "see more.. ";
    ll.Visible = true;
    pp.Controls.Add(ll);
    pp.Controls.Add(new LiteralControl("<br/>"));
    text.ID = "text" + i;
    text.TextMode = TextBoxMode.MultiLine;
    text.Text = moreinfo;
    pp.Controls.Add(text);
    text.Visible = false;
    ll.Click += new EventHandler(LinkButton1_Click);
    i++;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
    text.Visible = true;
    ll.Visible = false;
}
inti=1;
while(reader.Read())
{
字符串moreinfo=reader[“更多信息”].ToString()
TextBox text=新建TextBox();
LinkButton ll=新的LinkButton();
ll.ID=“link”+i;
ll.Text=“查看更多…”;
ll.可见=真实;
pp.Controls.Add(ll);
pp.Controls.Add(新的LiteralControl(“
”); text.ID=“text”+i; text.TextMode=TextBoxMode.MultiLine; text.text=moreinfo; pp.Controls.Add(文本); text.Visible=false; ll.Click+=neweventhandler(LinkButton1\u Click); i++; } 受保护的无效链接按钮1\u单击(对象发送者,事件参数e) { text.Visible=true; ll.可见=假; }
因为您正在使用ASP作为web基础,所以只有在有回发或加载页面时才会触发代码隐藏。需要使用JavaScript。你想如何---显示---取消隐藏
i
链接按钮的数量?我想在单击链接按钮时显示隐藏的文本框(使其可见),你将while循环放在哪里?在页面中加载?如果是,请确保回发时未调用它。还有什么是LinkButton1\u Click方法中的text和ll?我看不到加载页面中的definition.yap。。好吧,这就是问题所在,它们应该是我想让其可见的“文本框”,而“链接按钮”导致它们都是在本地定义的,所以我不想使用这个方法,也不想使用“EventHandler(LinkButton1_Click)”@mattfeiJavascript是在HTML中隐藏和取消隐藏元素而不进行页面回发的唯一方法。使用Javascript修改问题。
int i=1;
while (reader.Read())
{
    string moreinfo = reader["more_information"].ToString()
    TextBox text = new  TextBox();
    LinkButton ll = new LinkButton();
    ll.ID = "link" + i;
    ll.Text = "see more.. ";
    ll.Visible = true;
    pp.Controls.Add(ll);
    pp.Controls.Add(new LiteralControl("<br/>"));
    text.ID = "text" + i;
    text.TextMode = TextBoxMode.MultiLine;
    text.Text = moreinfo;
    pp.Controls.Add(text);
    text.Visible = false;
    ll.Click += new EventHandler(LinkButton1_Click);
    i++;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
    text.Visible = true;
    ll.Visible = false;
}