形成后与ENCTYPE =“的multipart / form-data的”造成参数不获得通过(Fo

2019-09-18 06:25发布

在ASP.NET MVC 3(剃刀)项目我试图上传图片:视图的相关部分:

@using (@Html.BeginForm( new {enctype = "multipart/form-data" }))
{
    <text>Select a file </text>    
    <input type="file" name="file" />     
    <input type="submit" value="Upload" />        
}

声明明确的ENCTYPE参数是剥离的参数部分“负责”。 例如,如果URL(打开视图)为以下内容:

mydomain/Controller/Action/id?parameter1=somevalue1

在形式BeginForm-上述声明将给予(回发)以下内容:

mydomain/Controller/Action/id

因此,剥离部分:?参数1 = somevalue1这是需要!

我如何照顾这?

Answer 1:

既然你已经发布的数据到服务器我把所需的参数信息的形式隐藏字段。

问这个问题:“我可以这样收集的信息发送到该网址,而无需填充其他收藏品?”

随着查询字符串方法的答案是否定的。 我把它作为一个隐藏字段。

@Html.Hidden("SomeParameter", SomeValue);


Answer 2:

挖一点点更深我发现我可以这样做:

@using (@Html.BeginForm(new{parameter1= Request["parameter1"]},  new {enctype = "multipart/form-data" }))
{
    <text>Select a file </text>    
    <input type="file" name="file" />     
    <input type="submit" value="Upload" />        
}

注意Html.BeginForm从最初的有什么不同。



Answer 3:

您可以通过参数appeding的动作例子document.forms [0] .action =从Java调用脚本subit尝试“photoprocess.asp?=” +

然后提交



文章来源: Form Post with enctype = “multipart/form-data” causing parameters to not get passed