Hi,
Im using Multiupload so I can upload multiple files at once.
The files are received and processed by an .ashx file.
It works fine!
How can send more parameters to this .ashx page from the inicial page?
Printable View
Hi,
Im using Multiupload so I can upload multiple files at once.
The files are received and processed by an .ashx file.
It works fine!
How can send more parameters to this .ashx page from the inicial page?
Maybe adding your values to the <PostParams> can help.
Can I see some examples?
Thank you.
Sure. Can you provide a simplified sample demonstrating what you have tested so far with PostParams. That will help get us started.
Thats what i have so far:
Should "ContentPlaceHolder1_DDIdClass.value" be replaced by something else?Code:<ext:MultiUpload
ID="MultiUpload1"
runat="server"
OnFileUpload="MultiUpload1_FileUpload"
FileDropAnywhere="True"
FileSizeLimit="500 MB"
FileTypes="*.*"
FileTypesDescription="All Files"
FileUploadLimit="500"
FileQueueLimit="0"
UploadUrl="~/UploadDocumento.ashx"
AutoScroll="False">
<PostParams>
<ext:Parameter Name="IdClass" Value="ContentPlaceHolder1_DDIdClass.value" Mode="Raw" Encode="true" />
</PostParams>
<Listeners>
<SwfUploadLoadFailed Fn="loadFailed" />
<FileQueued Fn="BeginUpload" />
<FileSelected Fn="fileSelected" />
<UploadStart Handler="updateRecord(file.id, 'status', 'Sending');" />
<UploadProgress Handler="updateRecord(file.id, 'progress', Math.round(bytesComplete / bytesTotal));" />
<UploadComplete Handler="updateRecord(file.id, 'progress', 1 );updateRecord(file.id, 'status', 'Uploaded' );" />
<UploadAborted Handler="updateRecord(file.id, 'status', 'Aborted');" />
<UploadRemoved Handler="var store = this.up('grid').store; store.remove(store.getById(file.id));" />
<UploadError Fn="uploadError" />
<FileSelectionError Fn="fileSelectionError" />
</Listeners>
<Button>
<ext:Button Text="Pesquisar..." />
</Button>
</ext:MultiUpload>
Its here:
The page UploadDocumento.ashx uses this code to lood for the IdClass parameter:Code:<ext:SelectBox ID="DDIdClass" runat="server" DisplayField="ClassTitulo" ValueField="IdClass" FieldLabel="Classifica??o" OnDirectSelect="DDIdClass_OnDirectSelect" AutoPostBack="False" CausesValidation="True">
<Store>
<ext:Store ID="Store3" runat="server" DataSourceID="SqlDataSourceClassList">
<Model>
<ext:Model ID="ModelClass" runat="server">
<Fields>
<ext:ModelField Name="IdClass" />
<ext:ModelField Name="ClassTitulo" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:SelectBox>
Thanks again!Code:IdClass = Convert.ToInt32(context.Request["IdClass"]);
It worked!
I've used this:
Also, the encode=false removes extra caracters when receiving the data and makes my work simpler.Code:<PostParams>
<ext:Parameter Name="IdClass" Value="Ext.encode(#{DDIdClass}.value)" Mode="Raw" Encode="false"/>
</PostParams>
:D
Thank you!
Hi all !
Well, I´m trying to do the same but in MVC 3.2.1, I don´t know how to read theMy code looks like this:Code:.PostParams()
And:Code:X.MultiUpload()
.ID("LayoutsResourceInputResourcesAdd")
.FileSizeLimit("10 MB")
.Namespace("Resources")
.AutoStartUpload(true)
.FileUploadLimit(10)
.FileQueueLimit(0)
.FileTypes("*.*")
.UploadUrl(Url.Action("CreateResource"))
.PostParams(x => {
new Parameter("ResourceID", "App.LayoutsResourcesTreeGridResources.selection.data.resourceID", ParameterMode.Raw);
new Parameter("ResourceName", "App.LayoutsResourcesTreeGridResources.selection.data.resourceName", ParameterMode.Raw);
new Parameter("ResourceSize", "App.LayoutsResourcesTreeGridResources.selection.data.resourceSize", ParameterMode.Raw);
new Parameter("ResourceDate", "App.LayoutsResourcesTreeGridResources.selection.data.resourceDate", ParameterMode.Raw);
new Parameter("ResourceType", "App.LayoutsResourcesTreeGridResources.selection.data.resourceType", ParameterMode.Raw);
})
)
I have seen other posts usingCode:public DirectResult CreateResource( FileUploadEventArgs a)
{
...
}
orCode:context.Request["IdClass"]
, but I guess it's only for WebForms, not MVC.Code:Read it directly from Request collection
What should I add in that code to read that kind of parameters?
Thanks in advance
Hello @VilcheS,
In MVC please useHttpContext.Request.Params["parameter name"]
.
View
ControllerCode:@{
var X = Html.X();
}
<!DOCTYPE html>
<html>
<head>
<title>Ext.Net.MVC v3 Example</title>
</head>
<body>
@X.ResourceManager()
@(X.MultiUpload()
.ID("MultiUpload1")
.UploadUrl(Url.Action("Upload"))
.PostParams(p => p.Add(new { testParameter = "test parameter value" }))
)
@X.Button().Text("Upload").Handler("App.MultiUpload1.startUpload();")
</body>
</html>
Code:public ActionResult Upload(FileUploadEventArgs a)
{
X.Msg.Alert("PostParams", HttpContext.Request.Params["testParameter"]).Show();
return this.Direct();
}
Works!
I had to do little changes in my code:
because I wanted a value from the client like "10090", and not "App.LayoutsResourcesTreeGridResources.selection.d ata.resourceID", but it works :)Code:.PostParams(p => {
p.Add(new Parameter ( "ResourceID" , "App.LayoutsResourcesTreeGridResources.selection.data.resourceID", ParameterMode.Raw ));
p.Add(new Parameter ( "ResourceName" , "App.LayoutsResourcesTreeGridResources.selection.data.resourceName", ParameterMode.Raw ));
p.Add(new Parameter ( "ResourceSize" , "App.LayoutsResourcesTreeGridResources.selection.data.resourceSize", ParameterMode.Raw ));
p.Add(new Parameter ( "ResourceDate" , "App.LayoutsResourcesTreeGridResources.selection.data.resourceDate", ParameterMode.Raw ));
p.Add(new Parameter ( "ResourceType" , "App.LayoutsResourcesTreeGridResources.selection.data.resourceType", ParameterMode.Raw ));
})
Thx again Daniil