Actually I have taken one RadGrid and in that I have taken one RadUpLoad control in that.
And I want to find out the file name of Uploaded File along with pathname separately. Here I am sending the code which I tried to Implement….
<telerik:RadGrid ID="rgSubmenus" runat="server" AllowPaging="True" GridLines="Horizontal"
Skin="Default" OnNeedDataSource="rgSubmenus_NeedDataSource" PageSize="10" Width="70%"
OnInsertCommand="rgSubmenus_InsertCommand" OnItemDataBound="rgSubmenus_ItemDataBound"
OnUpdateCommand="rgSubmenus_UpdateCommand" >
<PagerStyle Mode="Slider" />
<MasterTableView CommandItemDisplay="TopAndBottom" AutoGenerateColumns="false" DataKeyNames="submenuid"
EditMode="EditForms" CommandItemSettings-AddNewRecordText="Add Submenu">
<Columns>
<telerik:GridBoundColumn DataField="submenuid" HeaderText="SubMenu ID" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Left" Visible="false">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="mainmenuid" HeaderText="MainMenu ID" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Left" HeaderStyle-Width="15%" Visible="false">
</telerik:GridBoundColumn>
So On…
<telerik:GridBoundColumn DataField="url" HeaderText="URL" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Left" HeaderStyle-Width="25%">
</telerik:GridBoundColumn>
<FormTemplate>
<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
<tr>
<td width="49%" align="right">
Select MainMenu
</td>
<td width="2%">
:
</td>
So On…..
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</telerik:RadComboBox>
</td>
</tr>
<tr>
<td width="49%" align="right">
Submenu Name
</td>
<td width="2%">
:
</td>
<tr>
<td width="49%" align="right">
Submenu URL
</td>
<td width="2%">
:
</td>
<td width="49%" align="left">
<telerik:RadUpload ID="rdSubmenuUpload" runat="server" Skin="Default" ControlObjectsVisibility="None" Width="150px" InputSize="25" AllowedFileExtensions=".aspx" />
</td>
</tr>
<tr>
So On…
<td width="49%" align="left">
<asp:Button runat="server" ID="btnAddRoles" Text='<%# (Container as GridItem).OwnerTableView.IsItemInserted ? "Insert" : "Update" %>'
CommandName='<%# (Container as GridItem).OwnerTableView.IsItemInserted ? "PerformInsert" : "Update" %>'
CssClass="btn1" />
<asp:Button runat="server" ID="btnCancel" Text="Cancel" CssClass="btn1" CausesValidation="false"
CommandName="Cancel" />
</td>
</tr>
</FormTemplate>
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
I tried C# in the following ways
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
GridEditableItem formItem = (GridEditableItem)e.Item;
RadUpload rdUload = (RadUpload)formItem.FindControl("rdSubmenuUpload");
int a = rdUload.UploadedFiles.Count;
}
}
protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
{
//Get the GridEditFormInsertItem of the RadGrid
//GridEditFormInsertItem insertedItem = e.Item as GridEditFormInsertItem;
//RadComboBox ddlMainmenu = (insertedItem.FindControl("ddlMainmenus") as RadComboBox);
GridEditFormInsertItem insertedItem = (GridEditFormInsertItem)e.Item;
RadUpload ruld = (insertedItem.FindControl("rdSubmenuUpload") as RadUpload);
int a = ruld.UploadedFiles.Count;
...
}
<
telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadToolBar1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Label1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<
telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px"Width="75px">
<img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>'style="border: 0px;" />
</telerik:RadAjaxLoadingPanel>
Now if I put this control on simple .aspx page, it's working fine.
But if I put this control on MOSS .aspx page, when my page is loading first time and if I click RadToolBar1, it's giving regular postback. And after the postback, it's ajaxifying my control..so after first post, it working fine. But first postback , it's doing as regular postback.
I have also tried it programatically.
protected
void Page_Load(object sender, EventArgs e)
{
try {
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadToolBar1, lblClick);
}
catch(Exception ex) {
Label1.Text = ex.Message;
}
}
This is too working fine on simple .aspx page.
But on MOSS .aspx page,it's giving following error.
Object reference not set to an instance of an object.
I am using smartpart with AJAX for hosting my usercontrol on MOSS .aspx page.
Do I need to register something on MOSS .aspx page?
Please reply ASAP.
Regards
Pratik.
| <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" Width="100%" Skin="Default2006" |
| AllowSorting="True" PageSize="5" ShowStatusBar="true" ShowFooter="True" |
| AllowPaging="True" GridLines="None" OnSortCommand="RadGrid1_SortCommand" |
| OnPageIndexChanged="RadGrid1_PageIndexChanged" OnItemDataBound="RadGrid1_ItemDataBound" OnItemCommand="RadGrid1_ItemCommand"> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| <MasterTableView Width="100%" AutoGenerateColumns="false" ShowFooter="True" TableLayout="Auto"> |
| <Columns> |
| <telerik:GridTemplateColumn> |
| <HeaderTemplate> |
| <asp:LinkButton runat="server" ID="lbParentDir" CommandName="_parent" CommandArgument='<%# ViewState["parentId"] %>' Text="^..." /> |
| </HeaderTemplate> |
| <ItemTemplate> |
| <asp:LinkButton runat="server" ID="lbTitle" CommandName="_children" Text='<%# Bind("title") %>' CommandArgument='<%# Bind("id") %>' /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| (...) |
| <telerik:GridTemplateColumn > |
| <ItemTemplate> |
| <asp:Button runat="server" CssClass="button" ID="btView" CommandArgument='<%# Bind("id") %>' CommandName="_view" Text="View"/> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) |
| { |
| if (e.CommandName == "_view") |
| { |
| int id = Convert.ToInt32(e.CommandArgument); |
| ViewState["id"] = id; |
| panelNodeView.Visible = true; |
| } |
| } |

| public bool UploadFilesToServer() |
| { |
| bool validPost = false; |
| if (Page.IsPostBack) |
| { |
| DirectoryInfo parentDir = new DirectoryInfo(Page.Server.MapPath("./SessionFolders/") + UniqueIndentifier + "/"); |
| if (parentDir.Exists) |
| { |
| foreach (FileInfo oldfile in parentDir.GetFiles()) |
| oldfile.Delete(); |
| } |
| HttpFileCollection uploadFilCol = Page.Request.Files; |
| for (int i = 0; i < uploadFilCol.Count; i++) |
| { |
| HttpPostedFile file = uploadFilCol[i]; |
| string fileName = Path.GetFileName(file.FileName); |
| if (fileName != string.Empty) |
| { |
| //Create Folder if neccesary |
| if (!parentDir.Exists) |
| parentDir.Create(); |
| try |
| { |
| file.SaveAs(parentDir.ToString() + fileName); |
| validPost = true; |
| } |
| catch (Exception) { } |
| } |
| } |
| if (!validPost) |
| MessageBox("Please select at least one file."); |
| } |
| return validPost; |
| } |