views:

232

answers:

1

Hi

I have one sharepoint custom page application which is rendering from a user control. In the user control page, i had used SPGridview for displaying data. My first column is Title Column (link button column), when the user click on the link, then one popup window will open with corresponding data. But the problem is the link button is not working properly. But this application is working as fine in asp.net application.

My code is shown below..

 <asp:UpdatePanel runat="server" ID="UpdatePanel2">
                                            <ContentTemplate>
                                                <SharePoint:SPGridView ID="dgApplicationBox" CellPadding="0" Height="100%" runat="server"
                                                    ForeColor="Black" Font-Size="10px" Font-Names="Verdana" AutoGenerateColumns="False"
                                                    AllowPaging="True" Width="100%" BorderStyle="None" BorderWidth="0px" PageSize="10"
                                                    BorderColor="White" BackColor="White" OnRowDataBound="dgApplicationBox_RowDataBound"
                                                    DataKeyNames="ApplicationID" OnSelectedIndexChanged="dgApplicationBox_SelectedIndexChanged"
                                                    OnPageIndexChanging="dgApplicationBox_PageIndexChanging" CssClass="ms-listviewtable"
                                                    AlternatingRowStyle-CssClass="ms-alternating">
                                                    <SelectedRowStyle Font-Bold="True" ForeColor="Black" BackColor="#CE5D5A"></SelectedRowStyle>
                                                    <EditRowStyle Font-Size="10px" Font-Names="Verdana,Arial,Helvetica,sans-serif"></EditRowStyle>
                                                    <HeaderStyle Font-Size="11px" Height="20px" Font-Bold="True" ForeColor="Black" BackColor="#E7E8EC">
                                                    </HeaderStyle>
                                                    <PagerStyle HorizontalAlign="Center" ForeColor="#414E61" Font-Size="5px" Font-Names="arial"
                                                        Height="10px" BackColor="#EBF3FF"></PagerStyle>
                                                    <RowStyle />
                                                    <Columns>
                                                        <asp:TemplateField HeaderText="Title" HeaderStyle-CssClass="ms-vb">
                                                            <ItemTemplate>
                                                                <asp:LinkButton ID="lbtnSubject" 
                                                                    Text='<%# Bind("UDF5") %>' runat="server" OnClick="lbtnSubject_Click"></asp:LinkButton>
                                                            </ItemTemplate>
                                                            <HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
                                                            <ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
                                                        </asp:TemplateField>
                                                        <asp:TemplateField HeaderText="Request No.">
                                                            <ItemTemplate>
                                                                <asp:Label ID="lblReqNo" Text='<%# Bind("UDF1") %>' runat="server" />
                                                            </ItemTemplate>
                                                            <HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
                                                            <ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
                                                        </asp:TemplateField>
                                                        <asp:BoundField DataField="CreatedOn" HeaderText="Created On" DataFormatString="{0:MM/dd/yyyy}"
                                                            HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                                                            <HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
                                                            <ItemStyle CssClass="ms-vb2"></ItemStyle>
                                                        </asp:BoundField>
                                                        <asp:BoundField DataField="Name" HeaderText="Form Type" HeaderStyle-HorizontalAlign="Left"
                                                            ItemStyle-HorizontalAlign="Left">
                                                            <HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
                                                            <ItemStyle CssClass="ms-vb2"></ItemStyle>
                                                        </asp:BoundField>
                                                        <asp:TemplateField HeaderText="History">
                                                            <HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
                                                            <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="21px" CssClass="ms-vb2">
                                                            </ItemStyle>
                                                            <ItemTemplate>
                                                                <asp:LinkButton ID="lbtnView" runat="server" OnClick="lbtnView_Click" >View</asp:LinkButton>
                                                            </ItemTemplate>
                                                        </asp:TemplateField>
                                                        <asp:TemplateField HeaderText="Application Id" Visible="False">
                                                            <ItemTemplate>
                                                                <asp:Label ID="lblApplicationId" runat="server" Text='<%# Bind("ApplicationId") %>'></asp:Label>
                                                            </ItemTemplate>
                                                            <HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
                                                            <ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
                                                        </asp:TemplateField>
                                                    </Columns>
                                                </SharePoint:SPGridView>
                                            </ContentTemplate>
                                        </asp:UpdatePanel>

when the user click on the link button, this code will works..

try
            {
                clearSession();
                Session["DigitalSignature"] = null;
                Button btnDetails = sender as Button;
                DataTable dt = (DataTable)dgApplicationBox.DataSource;
                GridViewRow gvRow = (GridViewRow)(sender as LinkButton).Parent.Parent;
                Session["AppId"] = ((Label)gvRow.FindControl("lblApplicationId")).Text;
                string subject = ((LinkButton)gvRow.FindControl("lbtnSubject")).Text;


                WFInfo objWFInfo = new WFInfo();
                objWFInfo.InitWorkflowProperty(Convert.ToInt32(Session["AppId"].ToString()), Session["CurrentUser"].ToString());
                Session["FormId"] = objWFInfo.FormID.ToString();

                string strFilname = objWFInfo.GetFormName(objWFInfo.ApplicationCategoryID.ToString());
                string WindowName = strFilname;
                strFilname += ".aspx";
                Session["CategoryId"] = objWFInfo.ApplicationCategoryID.ToString();
                //pnlSubmitModal_ModalPopupExtender.Show();

                ScriptManager.RegisterStartupScript(this, this.GetType(), "starScript", "popUpWindow('" + strFilname + "?tittle=" + subject + "', 800, 690,'" + WindowName + "');", true);

                this.Controls.Add(new LiteralControl("<script>alert('hi');</script>"));

                if (Session["CurrentUser"] != null)
                {
                    ApplicationForm objApplication = new ApplicationForm();
                    objApplication.markRead(Convert.ToInt32(Session["AppId"].ToString()), Session["CurrentUser"].ToString());

                }
                bindFolderData();
            }

If i click on the link button, there will be only post back occuring. but not the popup window open.. Please help me for resolving this problem. thanks in advance..

A: 

Have you checked to see if you're receiving a javascript error on the click?

Have you tried setting UpdatePanel2's UpdateMode="Conditional" and then adding Triggers? (button click)

Like this sample:

    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="lbtnSubject" EventName="Click" />
    </Triggers>
TheGeekYouNeed
i got one error like thisA control with ID 'lbtnSubject' could not be found for the trigger in UpdatePanel 'UpdatePanel2'. at System.Web.UI.UpdatePanelControlTrigger.FindTargetControl(Boolean searchNamingContainers)
Dilse Naaz