服务器标签格式不正确。完全卡住了

时间:2013-11-21 14:43:54

标签: asp.net .net asp.net-4.0

此服务器标记无效。它不断给出server tag is not well formed。我尝试使用"标记的所有组合。和'。似乎没什么用。

<asp:LinkButton CssClass="docs" OnClientClick='return selectionChanged('<%#Eval("Item1") %>')' runat="server" Text='<%#Eval("Item2") %>' />

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

如果Item1是一个数字,你可以尝试这个::

<asp:LinkButton CssClass="docs" OnClientClick='<%# string.Concat("return selectionChanged(",Eval("Item1"),".toString())") %>' runat="server" Text='<%#Eval("Item2") %>' />

或使用自定义方法:

<asp:LinkButton CssClass="docs" OnClientClick='<%# GetOnClick(Eval("Item1")) %>' runat="server" Text='<%#Eval("Item2") %>' />

protected string GetOnClick(object item1)
{
    return string.Format("return selectionChanged('{0}')", item1);
}

答案 1 :(得分:1)

嘿,这是怎么回事:

<asp:LinkButton CssClass="docs" 
OnClientClick='<%#Eval("Item1", "return selectionChanged(\"{0}\")") %>' 
runat="server" 
Text='<%#Eval("Item2") %>' />

答案 2 :(得分:-1)

你在OnClientClieck声明中使用过单引号 试试这个:

<asp:LinkButton 
    CssClass="docs" 
    OnClientClick="return selectionChanged('<%#Eval("Item1") %>')" 
    runat="server" Text='<%#Eval("Item2") %>' />

或在服务器端分配OnClientClick值(例如在Row / ItemDataBound事件处理程序中)