首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的不提交(HtmlButton)仍然提交?

为什么我的不提交(HtmlButton)仍然提交?
EN

Stack Overflow用户
提问于 2015-06-19 21:59:10
回答 1查看 49关注 0票数 0

我想动态地创建行,这些行始终存在,但最初是隐藏的,可见的。

我尝试过客户端(jQuery)路由,但遇到了问题。

我更喜欢沿着服务器端(C#)的道路前进,我认为我已经找到了基于this thread和下面的代码来实现它的方法:

代码语言:javascript
复制
HtmlButton btnAddFoapalRow = null;
. . .       
btnAddFoapalRow = new HtmlButton();
btnAddFoapalRow.Attributes["type"] = "button";
btnAddFoapalRow.InnerHtml = "+"; 
btnAddFoapalRow.ID = "btnAddFoapalRow";
btnAddFoapalRow.ServerClick += new EventHandler(btnAddFoapalRow_Click);
this.Controls.Add(btnAddFoapalRow);

private void btnAddFoapalRow_Click(object sender, EventArgs e)
{
    try
    {
        ShowNextFoapalRow();
    }
    catch (Exception ex)
    {
        String s = String.Format("Exception occurred: {0}", ex.Message); // TODO: Log this somewhere
    }
}

//// This only works the first time, because it causes the page to be reloaded, setting foapalRowsShowing back to 2
private void ShowNextFoapalRow()
{
    switch (foapalRowsShowing)
    {
        case 2:
            foapalrow3.Visible = true;
            foapalRowsShowing = 3;
            break;
        case 3:
            foapalrow4.Visible = true;
            foapalRowsShowing = 4;
            btnAddFoapalRow.Disabled = true;
            break;
    }
}


foapalrow3 = new HtmlTableRow();
foapalrow3.ID = "foapalrow3";
foapalrow3.Visible = false;
. . .
foapalrow3 = new HtmlTableRow();
foapalrow3.ID = "foapalrow3";
foapalrow3.Visible = false;

...but no go --第二行第一次变得可见时,但是"+“HtmlButton的后续混合不会使第三行可见。通过代码,我明白了为什么:每次我混合按钮时都提交页面,因此初始代码再次运行,将可见的行数设置为两行,并始终使row3可见(从不row4)。

这是在混合按钮之后的样子,不管我混合了多少次按钮(应该再添加一行,但从来没有):

第1行BTW是列标题行;第2行是默认可见的单行;row3和row4存在,但一开始不可见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-19 22:21:03

试着使用

代码语言:javascript
复制
btnAddFoapalRow.Attributes.Add("onclick", "return false;");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30947889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档