【问题标题】:Visibility of an ASP.Net button which depends if a file exists in databaseASP.Net 按钮的可见性取决于数据库中是否存在文件
【发布时间】:2012-11-07 05:44:28
【问题描述】:

我有一个gridview,它有几行(每行都有一个唯一的rowId),每行都有一个FileUpload 控件,现在FileUpload 一切正常。

(下面可以看到我上传的文件数据库图片)

我有下载按钮,它也可以正常工作,但是如果相应行不存在文件,我想让这个按钮不可见。

我没有想到任何合适的东西。

我的按钮和FileUpload 控件:

    <asp:TemplateField HeaderText="BatchList">
        <EditItemTemplate>
            <asp:ImageButton ID="ibt_Download" runat="server" src="Images/Download.png" CommandName="Download" CommandArgument='<%# Container.DataItemIndex %>' ></asp:ImageButton>
        </EditItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="UploadBatchList">
        <HeaderTemplate>
            <asp:Label ID="lbl_Header" ToolTip="Upload Batch List" runat="server" Text="UBL"></asp:Label>
        </HeaderTemplate>
        <EditItemTemplate>
            <asp:FileUpload ID="fu_UploadBatchList" runat="server" />
            <asp:Button ID="btn_Upload" runat="server" Text="Upload" OnClick="btn_Upload_Click" />
        </EditItemTemplate>
    </asp:TemplateField>

这就是它在我的 gridView 上的样子

首次创建 gridview 时,如果之前已上传文件,则绿点不得可见。

我的文件数据库:

【问题讨论】:

  • 这或多或少归结为:当您上传文件时,您会针对该特定记录进行更改。查看记录是否存在此更改,如果不存在,则使按钮不可见。如果您提供一些示例代码,我会尽力帮助您回答。 :)
  • @Bazzz 我包含了一些代码和图像。首次创建我的表时,如果不存在文件,则必须将按钮创建为不可见。
  • 我的印象是,您显示的表不是 GridView 数据绑定的表(我看到表中没有字段的注释字段?)。还请显示您正在与 GridView 进行数据绑定的表格,并请添加处理文件上传的代码。

标签: c# asp.net sql-server visibility


【解决方案1】:

您可以检查数据项的某些属性(在您的情况下为 DocName),如果它包含一个值(复制粘贴时它可能不起作用,我有点即兴发挥):

<asp:Button ID="btn_Upload" runat="server" 
            Text="Upload" 
            Visible='<% DataBinder.Eval(Container.DataItem, "DocName") == null %>
            OnClick="btn_Upload_Click" />

或者您可以创建一个评估可见性的函数。请参阅Mastering ASP.NET DataBinding 了解更多信息。

【讨论】:

  • 不是那个按钮,除了我不确定Container.DataItem 有一个名为“DocName”的属性,这个字段似乎在另一个数据库表中。等待 HOY 提供更多信息。
猜你喜欢
  • 2020-05-07
  • 2017-11-28
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
相关资源
最近更新 更多