C# RadGrid attachmentcolumn在上载前获取文件名
我有一个带有“附件栏”的Telerik RadGrid。 使用此代码,我将上传的文件保存到特定文件夹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
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
}