javascript事件处理程序触发“错误:CS1026:)预期”异常

时间:2012-12-10 16:44:29

标签: c# asp.net javascript-events controls

我已经创建了一个动态控件表,每行都是几个(DropDownList和TextBox)然后我在每个DropDownList选择的更改事件上关联了一个事件处理程序,因此我可以更改其TextBox,如下面的代码所示:

DropDownList TypeDDL = new DropDownList();
    TypeDDL.ID = "TypeDDL_" + rowN.ToString();
    TypeDDL.Width = 120;
    TypeDDL.Height = 20;
    InitializeTypeDDL(TypeDDL);
    TypeDDL.AutoPostBack = true;
    TypeDDL.Attributes.Add("onchange", "javascript:handleFieldsDDLEvent(this);");
    TextBox FieldsDDL = new TextBox();
    FieldsDDL.ID = "FieldsDDL_" + rowN.ToString();
    FieldsDDL.Width = 120;
    FieldsDDL.Height = 20;
    FieldsDDL.Attributes.Add("style", "float:right");

但事件处理程序的javascript代码会触发一个异常告诉:

function handleFieldsDDLEvent(e) {
    var elementId = (e.target || e.srcElement).id;
    var IdArray = elementId.Split('_');
    var ControlId = "Control_"+IdArray[1].toString();

    if (IdArray[1] != "") {
        var FieldsDDL = document.getElementById("<%="+ControlId +".ClientID%>"); 
        // error CS1026: ) expected 

    ValueTxtBx.style.display = "none";
    }
}

1 个答案:

答案 0 :(得分:3)

在你的javascript中

var FieldsDDL = document.getElementById("<%="+ControlId +".ClientID%>");

<%= ... %>部分在服务器上呈现,因此无法在javascript中以这种方式完成。