Asp.net 如何将int值更改为文本以在GridView中显示?

Asp.net 如何将int值更改为文本以在GridView中显示?,asp.net,gridview,Asp.net,Gridview,正如标题中提到的,我有一个GridView,它使用DataBind方法从代码隐藏中检索数据库中的数据。然而,我的数据中有一列的设置值为1和0,但我希望将int的值更改为text,以便在GridView表中显示 例如,我在数据库中有状态(int)0和1。因此,当我调用它们时,GridView只会在表中显示0和1,但我想在GridView中将0替换为Enabled,将1替换为Disabled。我怎么能用if来做呢?但我不知道该放在哪里。有人能帮我吗 您可以使用函数调用并根据数据呈现文本,如下所示:

正如标题中提到的,我有一个GridView,它使用DataBind方法从代码隐藏中检索数据库中的数据。然而,我的数据中有一列的设置值为1和0,但我希望将int的值更改为text,以便在GridView表中显示


例如,我在数据库中有状态(int)0和1。因此,当我调用它们时,GridView只会在表中显示0和1,但我想在GridView中将0替换为Enabled,将1替换为Disabled。我怎么能用if来做呢?但我不知道该放在哪里。有人能帮我吗

您可以使用函数调用并根据数据呈现文本,如下所示:

<asp:TemplateField HeaderText="enable" ItemStyle-HorizontalAlign="Center" >
    <ItemTemplate ><%#GiveMeActive(Container.DataItem)%></ItemTemplate>
</asp:TemplateField>

关于代码隐藏

protected string GiveMeActive(object oItem)
{
    bool fEnable = (bool)DataBinder.Eval(oItem, "EnableField");

    if (fEnable)
        return "<div style=\"background-color:Green;color:White;\">true</div>";
    else
        return "<div style=\"background-color:Red;color:White;\">false</div>";
}
受保护字符串GiveMeActive(对象oItem)
{
bool fEnable=(bool)DataBinder.Eval(oItem,“EnableField”);
如果(可以)
返回“真”;
其他的
返回“false”;
}

您还可以访问您的字段。 这是一个了解访问者的链接
访问器封装了显示某些数据的方式。如果你想允许任何人使用“Enabled”/“Disabled”字段,这将是一件有趣的事情

我很想使用下面的代码

<asp:TemplateField HeaderText="enable" ItemStyle-HorizontalAlign="Center" >
    <ItemTemplate>
        <%# Convert.ToString(Container.DataItem) == "0" ? "Disabled" : "Enabled" %>
    </ItemTemplate>
</asp:TemplateField>


上面的选项是否仅返回true或false?对不起,我的问题让你们困惑。我的问题是,当我从数据库检索我的状态时,在我的gridview中,它根据数据库显示0或1。但是,我希望在gridview中显示时将0或1替换为text=“Enabled”或“Disabled”。如果status.selected==“0”,那么gridview将在gridview中显示“Enabled”,但不再是0。@user1713791我开始认为您根本不懂编程。这是一个文本,你可以写任何东西的回报;测试一下,然后继续…是的。。。我是律师。。但是换一份工作成为程序员>但是无论如何。。我找到了另一种解决问题的方法。。使用row DATABOUNDING时,最好使用Convert.Tostring()而不是.Tostring(),因为这可能会导致空值错误。感谢您进行了编辑,尽管只有当数据库中的字段允许空值时,这才可能是一个问题。OP确实说这个字段是一个int,但我想最好把它放在那里以防万一。