I tried to put AsyncUpload into one of my usercontrols, but I always got null exception error when I tried to get addtional field at code behind. At first I thought that's user control's problem, but later on, even I put the exact the same code as demo into my test page, I got the same null exception error on this line :
Anyone else got same issue as I got? Pls take a look whenever you have time, really appreciate.
<%#((Telerik.Web.UI.UploadedFile)Container.DataItem).GetFieldValue("TextBox").ToString()%>
Anyone else got same issue as I got? Pls take a look whenever you have time, really appreciate.
<
telerik:RadScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
/>
<
telerik:RadAsyncUpload
runat
=
"server"
ID
=
"RadAsyncUpload1"
OnClientFileUploaded
=
"onClientFileUploaded"
>
</
telerik:RadAsyncUpload
>
<
telerik:RadButton
ID
=
"saveradbtn"
runat
=
"server"
OnClick
=
"saveradbtn_Click"
Text
=
"save image"
/>
<
asp:Label
ID
=
"labelNoResults"
runat
=
"server"
Visible
=
"True"
>No uploaded files</
asp:Label
>
<
asp:Repeater
runat
=
"server"
ID
=
"Repeater1"
>
<
ItemTemplate
>
<
span
style
=
"font-weight: normal; font-size: 10px; color: black; position: relative"
>
File info: <%#((Telerik.Web.UI.UploadedFile)Container.DataItem).GetFieldValue("TextBox").ToString()%>,<
br
/>
File name: <%# DataBinder.Eval(Container.DataItem, "FileName").ToString() %>,<
br
/>
File size: <%# DataBinder.Eval(Container.DataItem, "ContentLength").ToString() %><
br
/>
<
br
/>
<
br
/>
</
span
>
</
ItemTemplate
>
</
asp:Repeater
>
<
script
type
=
"text/javascript"
>
//
<![CDATA[
var $ = $telerik.$;
function onClientFileUploaded(radAsyncUpload, args) {
var $row = $(args.get_row());
var inputName = radAsyncUpload.getID("TextBox");
var inputType = "text";
var inputID = inputName;
var input = createInput(inputType, inputID, inputName);
var label = createLabel(inputID);
$row.append("<br/>");
$row.append(label);
$row.append(input);
}
function createInput(inputType, inputID, inputName) {
var input = '<input type="' + inputType + '" id="' + inputID + '" name="' + inputName + '" />';
return input;
}
function createLabel(forArrt) {
var label = '<label for=' + forArrt + '>File info: </label>';
return label;
}
//]]>
</
script
>
--------------code behind-------------------------------------
protected void saveradbtn_Click(object sender, EventArgs e)
{
if (RadAsyncUpload1.UploadedFiles.Count > 0)
{
labelNoResults.Visible = false;
Repeater1.Visible = true;
Repeater1.DataSource = RadAsyncUpload1.UploadedFiles;
Repeater1.DataBind();
}
else
{
labelNoResults.Visible = true;
Repeater1.Visible = false;
}
}