简体   繁体   English

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

[英]Javascript event handler fires “error: CS1026: ) expected” exception

I've created a table of dynamic controls which each row is a couple of (DropDownList and TextBox) then I've associated an event handler on each DropDownList selected change event so I can change on its TextBox as the code below shows : 我创建了一个动态控件表,每行都是一对(DropDownList和TextBox),然后在每个DropDownList选定的change事件上关联了一个事件处理程序,因此我可以在其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");

but the Javascript code of the event handler fires an exceptions telling: 但是事件处理程序的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";
    }
}

In your javascript you have 在你的JavaScript中

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

The <%= ... %> parts are rendered on the server so it cannot be done this way in javascript. <%= ... %>部分在服务器上呈现,因此无法在javascript中以这种方式完成。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM