设置 CommandField 从 aspx 页面选择可见性

发布于 2024-07-28 10:45:52 字数 383 浏览 8 评论 0原文

我想用 GridView 做这样的事情:

<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />

但这不起作用,出现错误:

数据绑定表达式仅 支持具有 数据绑定事件。 System.Web.UI.WebControls.CommandField 没有 DataBinding 事件。

无论如何,我可以设置 aspx 页面的可见性吗? PS:SC_TABLE 存在于数据源中,因此该部分没有任何问题。

I want to do something like this with a GridView:

<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />

But that doesn't work, coming up with error:

Databinding expressions are only
supported on objects that have a
DataBinding event.
System.Web.UI.WebControls.CommandField
does not have a DataBinding event.

Is there anyway I can set the visibility from the aspx page?
PS: SC_TABLE exists from the datasource, so nothing wrong from that part.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜点 2024-08-04 10:51:43

我在这篇文章的末尾找到了答案:

基本上,你需要捕获 DataGrid

OnRowCreated="GridView1_RowCreated"

上的 RowCreated 事件然后,在 aspx.cs 页面上使用以下代码隐藏控件:

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowIndex == 1)
    {
        e.Row.Cells[0].Controls.Clear();
    } 
}

如果第一列中有 CommandField,则该方法有效。

I found the answer at the end of this post:

Basically, you need to capture the RowCreated event on the DataGrid

OnRowCreated="GridView1_RowCreated"

Then, on the aspx.cs page use the following code to hide controls:

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowIndex == 1)
    {
        e.Row.Cells[0].Controls.Clear();
    } 
}

It works if you have a CommandField in the first column.

甜是你 2024-08-04 10:49:59

你可以用 TemplateField 来做到这一点......

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
    </ItemTemplate>
</asp:TemplateField>

You could do this with a TemplateField instead...

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
    </ItemTemplate>
</asp:TemplateField>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文