服务器标记格式不正确。

4

我在下面这行代码收到了这个消息:

<asp:LinkButton ID="someID" CommandArgument="<%# Eval("ID") %>"
                OnClick="someEvent_Click"
                runat="server">some text</asp:LinkButton>

它不喜欢我将Eval放入CommandArgument中。这里有什么问题吗?

可能是重复的问题:Server Tag is not well formed - Russ Clarke
既然这是一个ASP控件,为什么不从后台代码设置commandArgument呢? someID.CommandArgument = ....; - box86rowh
5个回答

19

应该像这样,使用单引号:

<asp:LinkButton ID="someID" CommandArgument='<%# Eval("ID") %>' 
    OnClick="someEvent_Click" runat="server">some text</asp:LinkButton>

1
你可以使用以下代码将双引号表示为": - Simon Halsey

3
 <asp:LinkButton ID="someID" CommandArgument="<%# Eval('ID') %>" OnClick="someEvent_Click" runat="server">some text</asp:LinkButton>

请使用单引号。


2
"<%# Eval("ID") %>"是罪魁祸首。最终只有"CommandArgument="<%# Eval("出错,其余部分都是语法错误。尝试将双引号配对成单引号。像这样:CommandArgument='<%# Eval("ID") %>'"

2

尝试使用CommandArgument='<%# Eval("ID") %>'代替(")


0
ID 放入 Eval 中的单引号中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接