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に送信できますか?」という質問をします。

クエリ文字列メソッドでは、答えはノーです。私はそれを隠しフィールドとして置きます。

@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 に答える