コントローラルートにテキストボックス値を使用しようとしていますが、構文に問題があります。基本的には、エンドユーザーがファイルを選択してから、データを処理して送信するためにAPIにデータを送信します。私は以下の静的なコードを動作させていますが、xmlパスをテキストボックス値を介して動的に設定することはできません。テキストボックス値をパラメータとしてコントローラルートに渡します
ファイルパスにドットがあるので、(私が言う限りでは)パスの最後にスラッシュが必要であることに注意してください。
@using (Html.BeginForm("", "api/food/dummy food file.xml/"))
{
<div class="row">
<div class="col-lg-6">
<label class="control-label">Select File</label>
<div class="input-group">
<label class="input-group-btn">
<span class="btn btn-default">
Browse… <input type="file" style="display: none;" single>
</span>
</label>
<input id="food.filepath" name="food.filepath" type="text" class="form-control" readonly>
</div>
</div>
</div>
<br />
<div>
<button id = "btnSubmit" type="submit" class="btn btn-primary">Submit</button>
</div>
}
私は構文が何であるかはわかりませんが、私は以下のようなことはできません。
@using (Html.BeginForm("", "api/food/" + food.filepath + "/"))
{
<div class="row">
<div class="col-lg-6">
<label class="control-label">Select File</label>
<div class="input-group">
<label class="input-group-btn">
<span class="btn btn-default">
Browse… <input type="file" style="display: none;" single>
</span>
</label>
<input id="food.filepath" name="food.filepath" type="text" class="form-control" readonly>
</div>
</div>
</div>
<br />
<div>
<button id = "btnSubmit" type="submit" class="btn btn-primary">Submit</button>
</div>
}
。このフォームを投稿するコントローラメソッドとは何ですか?なぜ、モデルにバインドされない名前属性を持たない隠しファイル入力があるのですか?そして、読み込み専用の入力値(あなたはすでにサーバー上の値を知っています)をポストバックするのは何ですか。 –
ファイルパス文字列を送信しようとしているコントローラはapi/foodです。ファイルパスのキャプチャがこのように設定されている理由は、jqueryがボタンに関連付けられているために、ユーザがファイルを参照して、使用するファイルを選択できるからです。テキストボックスは、その選択を表示するためだけに使用されます。わかりやすくするために必要な情報が他にあるかどうかを教えてください。 – user2653814
POSTメソッドとモデルを含む関連コードを表示します。あなたのコードは意味をなさないので、あなたがしようとしていることを推測することはできません。 –