简体   繁体   English

“服务器标签格式不正确

[英]“The server tag is not well formed

javascript function javascript功能

function ShowVisit(ID)
    {
       //do something with ID
    }   
       <asp:Repeater ID="repeaterPatientList" runat="server">
                <ItemTemplate>
                    <tr id="objTR" runat="server" ondblclick="return ShowVisit('<%#Eval("ID") %>')">
                    </tr>
                </ItemTemplate>
      </asp:Repeater>

When i give runat="server" to tr then error grows “The server tag is not well formed.” What's wrong? 当我给runat =“ server”分配给tr时,错误会增加“服务器标签格式不正确。”这是怎么回事?

 <tr id="objTR" 
     runat="server" 
     ondblclick=<%# "return ShowVisit('" + Eval("ID") +  "');"  %>>

ondblclick="return ShowVisit('<%#Eval("ID") %>') this interpreted by compiler as ondblclick="return ShowVisit('<%#Eval(" as fist string ID as second ") %>')" as third string. It because your double qoute start from just before return and end before ID MEANS ITS first string now there is no concatenation betwen first string and ID so it's error.Similarly for the sceond and thisd string.Your Above string is treated as same llike below.. ondblclick="return ShowVisit('<%#Eval("ID") %>') ,编译器将此解释为ondblclick="return ShowVisit('<%#Eval("作为第二个字符串") %>')"拳头ID ") %>')"作为第三个字符串。这是因为您的双qoute从返回之前开始,到ID意味着它的第一个字符串之前结束,现在在第一个字符串和ID之间没有串联,所以它是错误的。就像下面一样

string str="Hello"id"How are you";

To make it single string and to make work,,, You can try like this... 为了使其成为单个字符串并进行工作,您可以尝试这样...

 ondblclick='<%#@"return ShowVisit("""+ (Eval("ID") as string) +@""");" %>'

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

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