验证(ASP.NET):如果此属性值用引号括起来,则引号必须匹配

时间:2013-08-12 15:34:13

标签: c# asp.net

我似乎无法弄清楚为什么这对我不起作用,三元运算符的第二个表达式并没有给我带来任何麻烦,但是第一个表达式给了我错误: 验证(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() ) %> " %>'
     />

1 个答案:

答案 0 :(得分: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()) %>'
 />

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