2013-06-03 128 views
4

當試圖構建解決方案時,我收到警告,屬性必須用引號引起來。如何將CommandArgument屬性放在引號中?屬性必須用引號括起來

<asp:LinkButton Runat="server" ID="lkAcknowledge" Visible="false" CommandName="Acknowledge" CommandArgument=<%# DataBinder.Eval(Container.DataItem, "AssignmentID")%> >Acknowledge</asp:LinkButton>

回答

8

使用單引號:

<asp:LinkButton Runat="server" ID="lkAcknowledge" Visible="false" CommandName="Acknowledge" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AssignmentID")%>'>Acknowledge</asp:LinkButton>

+0

謝謝!我試圖用雙引號。 – stackuser

+0

@stackuser不允許使用雙引號,因爲您需要能夠從ASP Eval標記'<%# %>'內定義字符串,並且解析器將無法區分'CommandArgument =「...」'和「Eval ( 「...」)'。有趣的一天的事實。 :) – qJake

5

使用單引號:

CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AssignmentID")%>' 

注意您也可以使用簡寫Eval因爲ASP.NET 2.0擺脫一些噪音:

CommandArgument='<%#Eval("AssignmentID")%>' 
相關問題