我必须在网格视图中使用多个if else语句,如果代码==“ 1”,然后是“ Test1”,如果其“ 2”,然后是“ Test2”,如果其“ 3”,则是“ Test3”,如果其“ 4”, Test4“ ..
<asp:Label ID="lblCode" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Code")%>'></asp:Label>
所以我试图包括这样
<asp:Label ID="lblCode" runat="server" Text='<%# if((DataBinder.Eval(Container, "DataItem.Code")).ToString())==" 1" then "Test1" %>'></asp:Label>
它告诉我错误Invalid expression term 'if'
..现在该怎么写,请帮助
在这里,您应该改用controlsOnDataBinding
事件,并将标记之外的所有逻辑移到后面的代码中。
<asp:Label ID="lblCode" runat="server" Text='' OnDataBinding="lblCode_DataBinding" />
然后实施事件:
protected void lblCode_DataBinding(object sender, System.EventArgs e)
{
Label lbl = (Label)sender;
string code = Eval("Code");
switch (code)
{
case "1":
lbl.Text = "Test1";
break;
case "2":
lbl.Text = "Test2";
break;
case "3":
lbl.Text = "Test3";
break;
case "4":
lbl.Text = "Test4";
break;
default:
lbl.Text = "Unknown";
break;
}
}
最好的做法是在代码中保留逻辑。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句