ASP Listview - 复选框事件findcontrol

时间:2011-07-12 08:48:31

标签: c# asp.net sql-server listview

我正在尝试构建一个Listview编辑/插入模板,我可以使用复选框来启用更新多个数据库表,但收效甚微。我设法通过在Listview插入事件上执行一些犯规法术来使插入工作。但是我更喜欢它与Checkbox OnCheckedChanged事件一起使用,因为它让我感觉更加犹豫不决,当然还有为edittemplate工作的额外好处..

    protected void checktest_clicked(object sender, EventArgs e)
    {
        //testlabel.Text = testcheck.Checked.ToString(); <-- exists outside of LW
        //                                                   so it works
        //Label hejha = (Label)lwRapport.FindControl("testlabel");
        CheckBox trial = (CheckBox)lwRapport.FindControl("upParameter");

        if(trial != null)
        {
            if(trial.Checked == true)
            { testlabel.Text = "finally"; }

            if(trial.Checked == false)
            { testlabel.Text = "Nope, not going to happen"; }
        }
        if (trial == null)
        { testlabel.Text = "not wanted"; }
    }

这是我的测试片段,用于检查FindControl的工作原理,到目前为止,我已经完成了不成功的事情,让它做我想做的事情。
任何有关此事项的故障/黑客/解决方案的更正都将受到限制

EDIT1 * 该复选框位于listview内部,更准确地说是在inserttemplate中。模板在这样的行上看起来像是:

    textbox  <bind"table1.element">
    textbox2 <bind"table1.element2">
    checkbox [_]
    textbox3 <bind"table2.element">

观察上面的代码片段只是我布局的伪代码片段而不是实际布局。我正在尝试的是找到复选框并将其检查值绑定到一个参数,该参数在SPROC中传递几个检查,然后执行UPDATE命令

2 个答案:

答案 0 :(得分:0)

您似乎无法从列表视图中找到复选框控件。这是因为您正在搜索列表视图中的复选框,您应该做的是在所选项目中搜索它。

答案 1 :(得分:0)

您可以查看this。虽然它是GridView,但我认为它也会起作用。