3

在 ASP.NET MVC 3 (Razor) 项目中,我正在尝试上传图片:视图的相关部分:

@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

因此剥离部分: ?parameter1=somevalue1 这是需要的!

我该如何处理?

4

3 回答 3

3

由于您已经将数据发布到服务器,我会将所需的参数信息作为隐藏字段放入表单中。

问“我可以将这个信息集合发送到这个 URL 而不需要填充其他集合吗?”这个问题。

使用 querystring 方法,答案是否定的。我会把它作为一个隐藏的领域。

@Html.Hidden("SomeParameter", SomeValue);
于 2012-06-19T18:13:41.570 回答
1

挖掘得更深一点,我发现我可以做到:

@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 与初始的不同。

于 2012-06-19T18:30:47.977 回答
0

您可以尝试通过将参数添加到操作示例 document.forms[0].action="photoprocess.asp?="+ 从 java 脚本调用 subit

然后提交

于 2015-09-10T17:34:44.897 回答