在ASP.NET中设置DropDownList的值

时间:2015-12-02 17:09:48

标签: c# asp.net

如何使用代码后面的变量设置下拉列表的值?

<asp:DropDownList  runat="server"                    
    <asp:ListItem Text="SomeText" Value='<%: valudeCodeBehind %>'></asp:ListItem>
</asp:DropDownList>

我将计算字符串放在代码后面,假设它是valudeCodeBehind ="113";

但我得到<%: valudeCodeBehind %>这个值而不是113.所以如何传递它。

编辑:Value="<%= valudeCodeBehind %>"也不起作用。这不是一个错字(有人把它放在评论中)..

4 个答案:

答案 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;
}