如何使用代码后面的变量设置下拉列表的值?
<asp:DropDownList runat="server"
<asp:ListItem Text="SomeText" Value='<%: valudeCodeBehind %>'></asp:ListItem>
</asp:DropDownList>
我将计算字符串放在代码后面,假设它是valudeCodeBehind ="113";
但我得到<%: valudeCodeBehind %>
这个值而不是113.所以如何传递它。
编辑:Value="<%= valudeCodeBehind %>"
也不起作用。这不是一个错字(有人把它放在评论中)..
答案 0 :(得分:2)
如果您已经使用代码隐藏来计算值,那么为什么不使用
之类的东西IdOfDDL.Items.Insert(0, New ListItem("someText", valudeCodeBhind))
在您的代码隐藏中而不会弄乱&lt; %%&gt;并保持你的观点清洁。
答案 1 :(得分:0)
或者像这样调用方法......
<强>代码隐藏强>
public DataTable GetString()
{
//... do what you have to do here
}
<强> ASPX 强>
<asp:DropDownList ID="ddlString" DataSource='<%# GetString() %>'
DataTextField="MyString" DataValueField="StringID" runat="server">
</asp:DropDownList>
Codebehind方法应公开,以便从ASPX页面访问。
答案 2 :(得分:0)
那不会奏效。您可能想尝试表达式构建器。 Here是关于它的好文章。
答案 3 :(得分:0)
<asp:DropDownList runat="server"
<asp:ListItem Text="SomeText" Value='<% FunctionFromCodeBehind(); %>'>
</asp:ListItem>
</asp:DropDownList>
代码背后:
private Int32 FunctionFromCodeBehind()
{
int result = 0;
//calculations here
return result;
}