0

当用户更改 Dropdownlists selectedIndexchange 事件时,我正在使 Gridview 的文本框可见真或假,因为我已经完成了以下代码

我的 .CS 文件代码如下:

protected void gvTaskList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HiddenField hdn = (HiddenField)e.Row.FindControl("hdnStatus");
                DropDownList ddl = (DropDownList)e.Row.FindControl("ddlStatus");
                TextBox txt = (TextBox)e.Row.FindControl("txtVal");
                if (ddl != null)
                {
                    ddl.Items.Add("Not Started");
                    ddl.Items.Add("In Progress");
                    ddl.Items.Add("Complete");

                    if (hdn != null)
                    {
                        ddl.SelectedValue = hdn.Value;
                    }
                    //ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
                    ddl.Attributes.Add("onChange", "return myFun(" + "'" + txt.ClientID + "'" +");");
                }
            }
        }
        catch (Exception ex)
        {
            Utility.ErrorList("EmpTaskList--RowdataBound", ex.ToString());
        }
    }

注意:我的组合框和文本框都在 EditTmplate

Javascript代码如下

<script type="text/javascript">
function myFun(txtControl) {

    var v = document.getElementById("<%=" + txtControl + "%>");
    alert(v);
}

当我调用更改下拉列表索引函数并且警报显示为空时。

那么有人可以建议我我做错了什么吗?

4

1 回答 1

0

我认为您不希望在getElementById通话中使用服务器端标签:

var v = document.getElementById(txtControl);
于 2012-06-26T12:23:45.327 回答