gpt4 book ai didi

asp.net - 根据数据源值动态启用asp按钮

转载 作者:行者123 更新时间:2023-12-02 10:02:51 25 4
gpt4 key购买 nike

已解决:请参阅下面的解决方案!

使用 aspx,后面带有 C# 代码。

我在 GridView 的项目模板的按钮中有以下代码:

Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'

我收到以下错误:

The name 'IIF' does not exist in the current context

我做错了什么?如果我使用“IF”而不是“IIF”,我会得到同样的错误

完整的项目模板代码如下:

<ItemTemplate>
<asp:Button ID="wrqst_need_ind_btn" runat="server" Text = "Create WR"
onClientClick="javascript:popUp('popup_createWR.aspx')"
Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'
CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>
</ItemTemplate>

如果我把线拔掉就可以了。

在我看来这应该可行......

编辑:我现在正在使用这个:

Enabled='<%#Eval("wrqst_need_ind") == "Y" ? "TRUE" : "FALSE" %>'

并收到此错误:

服务器标记的格式不正确。

非常感谢您的帮助!

更新:

我试过这个:

Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(0) %>' and it ran!

但是,每个按钮都被禁用了。所以我尝试了:

Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(1) %>'

然后每个按钮都被禁用。似乎每次都返回 false...为什么?

已解决:请参阅下面的解决方案!

最佳答案

在 C# 中,三元语法是:

Eval("wrqst_need_ind") == "Y" ? "TRUE" : "FALSE"

如果您碰巧正在使用 VB.NET(看起来您没有),请使用 If 函数。

If(Eval("wrqst_need_ind") == "Y", "TRUE", "FALSE")

编辑:事实证明,这里的 == 不会比较字符串内容,而是字符串对象。因此,您必须使用 .Equals("Y")。因此,社区生成的最终答案是:

Enabled='<%# Eval("wrqst_need_ind").Equals("Y") %>'

关于asp.net - 根据数据源值动态启用asp按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com