Как я могу обнаружить командную кнопку огня Link button в элементе управления gridview - PullRequest
0 голосов
/ 08 июля 2011

У меня странная проблема: я разработал веб-приложение в одной из форм, в которой я использую элемент управления Gridview с командной кнопкой для просмотра данных строки. Если в данных Gridview есть только запись, то кнопка ссылки работает нормально, если она есть. более одной записи не работают кнопки ссылок, я не могу понять, это очень странная проблема для меня, я использую! Page.IsPostBack также в событии загрузки страницы, пожалуйста, помогите мне .....

     protected void grdmanageloans_RowCommand(object sender, GridViewCommandEventArgs e)
    {
       if (e.CommandName == "Info") 
        {
            try
        {
            int loanid = Convert.ToInt32(e.CommandArgument);
            Session["Loanid"] = loanid;
            Session["Edit"] = "Edit";
            TabContainer1.ActiveTabIndex = 1;
            Session["TabContainer1"] ="loantab";
            Session["Tabloan"] = "Tabloan";
            Response.Redirect("Mortgageclient.aspx");

        }
        catch { }
                    }
       if (e.CommandName == "Delete")
        {
            try
            {

                int LoanId = Convert.ToInt32(e.CommandArgument);

                var PmtScheduleHistory = from del in mortgageentity.Pmt_Schedule_History where del.Loan.Loan_ID == LoanId select del;
                var LoanPayment = from del in mortgageentity.Payments where del.Loan_ID == LoanId select del;

                if (PmtScheduleHistory.Count() > 0)
                {
                    var DelPmtScheduleHistory = (from del in mortgageentity.Pmt_Schedule_History where del.Loan.Loan_ID == LoanId select del).First();
                    mortgageentity.DeleteObject(DelPmtScheduleHistory);
                    mortgageentity.SaveChanges();
                }
                var Getpayments = from db in mortgageentity.Payments where db.Loan_ID == LoanId select db;
                if (Getpayments.Count() > 0)
                {
                    foreach (var i in Getpayments)
                    {
                        mortgageentity.DeleteObject(i);
                        mortgageentity.SaveChanges();
                    }
                } 

                if (LoanPayment.Count() > 0)
                {
                    var DelPmtScheduleHistory = (from del in mortgageentity.Payments where del.Loan_ID == LoanId select del.Payment_Status.PaymentStatus_ID).First();
                    mortgageentity.DeleteObject(DelPmtScheduleHistory);
                    mortgageentity.SaveChanges();
                }

                var deletedata = (from del in mortgageentity.Loans where del.Loan_ID == LoanId select del).First();
                mortgageentity.DeleteObject(deletedata);
                mortgageentity.SaveChanges();
                BindData();
            }
            catch { }
        }

        if (e.CommandName == "AddNewloan")
        {
            Session["Addnewloan"] = "Addloan";
            Response.Redirect("Information.aspx");
        }
    }

Вот моя страница .aspx

     <asp:GridView ID="grdmanageloans" runat="server" AutoGenerateColumns="False" AllowSorting="True"
                                                            GridLines="Both" PageSize="10" AllowPaging="true" OnRowCommand="grdmanageloans_RowCommand"
                                                            OnSelectedIndexChanged="grdmanageloans_SelectedIndexChanged" ShowFooter="true"
                                                            OnPageIndexChanging="grdmanageloans_PageIndexChanging" OnRowDataBound="grdmanageloans_Rowdatabound">
                                                            <AlternatingRowStyle BackColor="#F3F9FB" />
                                                            <RowStyle BackColor="#FEFEFE" VerticalAlign="Top" />
                                                            <HeaderStyle BackColor="#F3F9FB" />
                                                            <FooterStyle BackColor="#F3F9FB" />
                                                            <RowStyle Wrap="False" />
                                                            <HeaderStyle ForeColor="#1F476F" />
                                                            <Columns>
                                                                <asp:TemplateField HeaderText="LoanID" Visible="true">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblloanid" runat="server" Text='<%# Bind("Loan_ID") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="Loan Number">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblLoanNumber" runat="server" Text='<%# Bind("LoanNumber") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="Month Pay Amt" HeaderStyle-Wrap="false">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblMonthPayAmt" runat="server" Text='<%#Getammount(Eval("MonthPayAmt","{0:F2}")) %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="Address">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblpropaddress" runat="server" Text='<%# Bind("PropAddress") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="City">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblpropcity" runat="server" Text='<%# Bind("PropCity") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="State">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblpropstate" runat="server" Text='<%# Bind("PropState") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="ClientID" Visible="false">
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblclientid" runat="server" Text='<%# Bind("Client_ID") %>'></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField>
                                                                    <ItemStyle HorizontalAlign="Center" />
                                                                    <ItemTemplate>


                                                                      <asp:LinkButton ID="lnkeinfo" runat="server" CausesValidation="false" CommandName="Info"
                                                                            CommandArgument='<%#Eval("Loan_ID")%>'>Information</asp:LinkButton>
                                                                    </ItemTemplate>
                                                               </asp:TemplateField>
                                                            </Columns>
                                                        </asp:GridView>

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Попробуйте это:

 <asp:LinkButton ID="lnkeinfo" runat="server" CausesValidation="false" CommandName="Info"
                                                                            CommandArgument='<%# Bind("Loan_ID") %>'>Information</asp:LinkButton>
0 голосов
/ 08 июля 2011

Почему бы вам не использовать архитектуру RESTful, чтобы не сохранять эти параметры в сеансе и не делать страницы тесно связанными? Просто создайте ссылки с именем Info в вашей таблице вместо кнопок (которые отправляют данные назад) с этими параметрами, добавляемыми в конце как querystring . Это более хороший подход, и результат тот же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...