我的页面上有一个DropDownList,我希望DataTextField值基于条件(语言)。我使用模型绑定,这个DropDown嵌套在绑定的FormView中。
这就是我想要做的事情:
<asp:DropDownList ID="DropDownList1" ItemType="BLL.HelperClasses.ItemForList"
DataValueField="id" DataTextField="<%#: (this.IsEnglish) ? "en" : "fr" %>" SelectMethod="DropDownList1_GetData"
SelectedValue="<%#: Item.Claim.CurrencyID %>" runat="server"></asp:DropDownList>
.NET抱怨我的DataTextField&#34;服务器标签格式不正确&#34;。 IsEnglish是我的基页中的布尔属性。
任何人都知道如何在不使用代码隐藏的情况下执行此操作?
答案 0 :(得分:0)
我认为你必须插入“Eval”才能实际比较它们不是吗?
<asp:label id="Label1" runat="server" text="<%# Eval("StReply") == true ? "yes" : "no" %>" xmlns:asp="#unknown">
</asp:label>
代码来自http://www.codeproject.com/Questions/653888/using-If-statement-in-Bind-Eval
答案 1 :(得分:0)
问题在于周围的双引号。将它们改为单引号,一切都很完美。
最终解决方案:
<asp:DropDownList ID="DropDownList1" ItemType="BLL.HelperClasses.ItemForList"
DataValueField="id" DataTextField='<%#: (this.IsEnglish) ? "en" : "fr" %>' SelectMethod="DropDownList1_GetData"
SelectedValue="<%#: Item.Claim.CurrencyID %>" runat="server"></asp:DropDownList>