0

我似乎无法弄清楚为什么这对我不起作用,三元运算符的第二个表达式没有给我带来任何麻烦,但是第一个表达式给了我错误: 验证(ASP.Net):如果此属性值为括在引号中,引号必须匹配。

 <asp:Label 
        ID="CategoryText" 
        CssClass='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "IsSkipped")) ? "CategoryCell Skipped" : "CategoryCell" %>'
        runat="server" 
        Text='<%# DataBinder.Eval(Container.DataItem, "CategoryID").Equals(CurrentCategoryID) ? 
        "<%# DataBinder.Eval(Container.DataItem, \"Text\").ToString() %> "
        // ^-- this is what is causing the error.
        : "<%# GenerateQuestionURL(DataBinder.Eval(Container.DataItem, \"CategoryID\").ToString(), DataBinder.Eval(Container.DataItem, \"Text\").ToString() ) %> " %>'
     />
4

1 回答 1

3

尝试这个:

<asp:Label 
    ID="CategoryText" 
    CssClass='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "IsSkipped")) ? "CategoryCell Skipped" : "CategoryCell" %>'
    runat="server" 
    Text='<%# DataBinder.Eval(Container.DataItem, "CategoryID").Equals(CurrentCategoryID)     
    ? DataBinder.Eval(Container.DataItem, "Text").ToString()
    : GenerateQuestionURL(DataBinder.Eval(Container.DataItem, "CategoryID").ToString(), DataBinder.Eval(Container.DataItem, "Text").ToString()) %>'
 />

虽然它有点乱(难以阅读),我会把它放在一个函数中并从那里调用它。

于 2013-08-12T15:49:19.503 回答