Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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# RadGrid attachmentcolumn在上载前获取文件名_C#_Telerik_Radgrid - Fatal编程技术网

C# RadGrid attachmentcolumn在上载前获取文件名

C# RadGrid attachmentcolumn在上载前获取文件名,c#,telerik,radgrid,C#,Telerik,Radgrid,我有一个带有“附件栏”的Telerik RadGrid。 使用此代码,我将上传的文件保存到特定文件夹 protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item.IsInEditMode && e.Item is GridEditableItem) { GridEditableItem item = e.Item as GridEditableItem

我有一个带有“附件栏”的Telerik RadGrid。 使用此代码,我将上传的文件保存到特定文件夹

protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item.IsInEditMode && e.Item is GridEditableItem)
    { GridEditableItem item = e.Item as GridEditableItem;
        (item["AttachmentColumn"].Controls[0] as RadUpload).TargetFolder = "attachmentsFI";
    }

我还想在保存文件以进行某些操作之前获取文件名。如何获取文件名?

请尝试使用下面的代码段

客户端

JS

服务器端

ASPX


谢谢你的建议。我们根据你的建议找到了解决办法。
<telerik:RadCodeBlock ID="telerikodeBlock1" runat="server">
    <script type="text/javascript">
        function ClientFileSelected(sender, args) {
            var filePath = sender.getFileInputs()[0].value;
            var fileName = filePath.substring(filePath.lastIndexOf("\\") + 1);
            //Access your file name here
        }
    </script>
</telerik:RadCodeBlock>
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
    OnItemDataBound="RadGrid1_ItemDataBound">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
            </telerik:GridBoundColumn>
            <telerik:GridAttachmentColumn UniqueName="AttchColumn">
            </telerik:GridAttachmentColumn>
            <telerik:GridEditCommandColumn>
            </telerik:GridEditCommandColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    dynamic data1 = new[] {
           new { ID = 1, Name ="Name_1"},
           new { ID = 2, Name = "Name_2"},
           new { ID = 3, Name = "Name_3"},
           new { ID = 4, Name = "Name_4"},
           new { ID = 5, Name = "Name_5"}
       };

    RadGrid1.DataSource = data1;
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item.IsInEditMode && e.Item is GridEditableItem)
    {
        GridEditableItem item = e.Item as GridEditableItem;
        RadUpload ru = item["AttchColumn"].Controls[0] as RadUpload;
        ru.OnClientFileSelected = "ClientFileSelected";
    }
}
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
    OnItemDataBound="RadGrid1_ItemDataBound" 
    onupdatecommand="RadGrid1_UpdateCommand">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
            </telerik:GridBoundColumn>
            <telerik:GridAttachmentColumn UniqueName="AttchColumn">
            </telerik:GridAttachmentColumn>
            <telerik:GridEditCommandColumn>
            </telerik:GridEditCommandColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    dynamic data1 = new[] {
           new { ID = 1, Name ="Name_1"},
           new { ID = 2, Name = "Name_2"},
           new { ID = 3, Name = "Name_3"},
           new { ID = 4, Name = "Name_4"},
           new { ID = 5, Name = "Name_5"}
       };

    RadGrid1.DataSource = data1;
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item.IsInEditMode && e.Item is GridEditableItem)
    {
        GridEditableItem item = e.Item as GridEditableItem;
        RadUpload ru = item["AttchColumn"].Controls[0] as RadUpload;
        ru.TargetFolder = "TempFiles";
    }
}
protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
{
    GridEditableItem item = e.Item as GridEditableItem;
    RadUpload ru = item["AttchColumn"].Controls[0] as RadUpload;
    string strFileName = ru.UploadedFiles[0].FileName;
    // Access file name here
}