Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP Web表单中基于链接按钮单击显示/隐藏项目?_C#_Asp.net_Gridview - Fatal编程技术网

C# 在ASP Web表单中基于链接按钮单击显示/隐藏项目?

C# 在ASP Web表单中基于链接按钮单击显示/隐藏项目?,c#,asp.net,gridview,C#,Asp.net,Gridview,我一直在努力让这个代码正常工作,但就我的一生而言,我无法理解它。我在GridView中有一个LinkButton,我点击它,它填充另一个GridView和一个Repeater。我的问题在于第二个GridView下面的项目。我有两个链接按钮、一个标签和一个文本框,我需要在显示第二个gridview之前将其隐藏。到目前为止,我已尝试设置“Visible=false”,并在单击LinkButton后在代码中切换为true,但没有显示任何内容,我也尝试过关闭验证和其他一些功能,但到目前为止运气不佳,这是

我一直在努力让这个代码正常工作,但就我的一生而言,我无法理解它。我在GridView中有一个LinkButton,我点击它,它填充另一个GridView和一个Repeater。我的问题在于第二个GridView下面的项目。我有两个链接按钮、一个标签和一个文本框,我需要在显示第二个gridview之前将其隐藏。到目前为止,我已尝试设置“Visible=false”,并在单击LinkButton后在代码中切换为true,但没有显示任何内容,我也尝试过关闭验证和其他一些功能,但到目前为止运气不佳,这是我最后一次尝试:

网页表单代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ReceivingPage.aspx.cs" Inherits="Receiving_ReceivingPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<h1 class="well">Receiving</h1>
<asp:ObjectDataSource ID="ODSOpenPOList" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetOpenPO" TypeName="eToolsSystem.BLL.ReceiveController"></asp:ObjectDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ODSOpenPOList">
    <Columns>
        <asp:BoundField DataField="PurchaseOrderID" HeaderText="Order" SortExpression="PurchaseOrderID" />
        <asp:BoundField DataField="OrderDate" HeaderText="Order Date" SortExpression="OrderDate" />
        <asp:BoundField DataField="VendorName" HeaderText="Vendor" SortExpression="VendorName" />
        <asp:BoundField DataField="Phone" HeaderText="Contact Phone" SortExpression="Phone" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%# "ReceivingPage.aspx?id="+Eval("PurchaseOrderID") %>' CausesValidation="True" OnClick="LinkButton1_Click">View Order</asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ODSPopulatePOItemList" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetPOItemByPurchaseOrderID" TypeName="eToolsSystem.BLL.ReceiveController">
    <SelectParameters>
        <asp:QueryStringParameter Name="purchaseOrderId" QueryStringField="id" Type="Int32" />
    </SelectParameters>
</asp:ObjectDataSource>

<asp:ObjectDataSource ID="ODSVendorByID" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetVendorByID" TypeName="eToolsSystem.BLL.ReceiveController">
    <SelectParameters>
        <asp:QueryStringParameter Name="purchaseOrderId" QueryStringField="id" Type="Int32" />
    </SelectParameters>
</asp:ObjectDataSource>
<br />
<asp:Repeater ID="VendorRepeater" runat="server" DataSourceID="ODSVendorByID">
    <ItemTemplate>
        PO #<%# Eval("PurchaseOrderID") %>Vendor: <%# Eval("VendorName") %>
        Contact Phone:<%# Eval("Phone") %>

    </ItemTemplate>
</asp:Repeater>

<asp:GridView ID="ReceiverPanel" runat="server" AutoGenerateColumns="False" DataSourceID="ODSPopulatePOItemList">
    <Columns>
        <asp:BoundField DataField="StockItemID" HeaderText="StockItemID" SortExpression="StockItemID" />
        <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
        <asp:BoundField DataField="QuantityOnOrder" HeaderText="QuantityOnOrder" SortExpression="QuantityOnOrder" />
        <asp:BoundField DataField="QuantityOutstanding" HeaderText="Outstanding" SortExpression="QuantityOutstanding" />
        <asp:TemplateField HeaderText="Receive" Visible="True">
            <ItemTemplate>
                <asp:TextBox runat="server" ID="Received" Text='<%# Eval("Received") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Return">
            <ItemTemplate>
                <asp:TextBox runat="server" ID="Returned" Text='<%# Eval("ReturnedQuantity") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Reason">
            <ItemTemplate>
                <asp:TextBox runat="server" ID="Reason" Text='<%# Eval("Reason") %>'></asp:TextBox>
                <asp:HiddenField ID="PurchaseOrderDetailID" runat="server" Value='<%# Bind("PurchaseOrderDetailID") %>' />
                <asp:HiddenField ID="PurchaseOrderID" runat="server" Value='<%# Bind("PurchaseOrderID") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

<asp:LinkButton ID="ReceiveButton" runat="server" OnClick="ReceiveButton_Click" Visible="false">Receive</asp:LinkButton>
<asp:LinkButton ID="ForceClose" runat="server" OnClick="ForceClose_Click" Visible="false">Force Close</asp:LinkButton>
<asp:Label ID="ReasonLabel" runat="server" Text="Reason:" Visible="false"></asp:Label>
<asp:TextBox ID="ForceCloseTextBox" runat="server" Visible="false"></asp:TextBox>

任何解决方案都将不胜感激

你能显示你的页面加载代码吗?页面加载当前为空。链接按钮后面的代码是否执行?我没有你的对象数据源,因此无法运行代码,但我创建了一个按钮并添加了ForceClose行。Visible=true;点击事件,链接对我来说很好。我建议将问题缩小一点。我想我的问题是我设置了一些东西,它通过一个查询字符串传递。。。我不知道我现在是如何设置这个LinkButton的,虽然我需要它在我点击按钮到页面上的另一个gridview时传递一个特定的值。。
protected void LinkButton1_Click(object sender, EventArgs e)
{
    ForceClose.Visible = true;
    ReceiveButton.Visible = true;
    ReasonLabel.Visible = true;
    ForceCloseTextBox.Visible = true;
}