在按钮 .net mvc 中单击时插入要上传的新字段



我正在尝试在项目注册期间将多个图像发送到我的控制器。

我遇到了问题,因为我需要允许用户单击按钮,并且新的输入字段和描述输入必须出现在 DOM 中。

 @using (Html.BeginForm("Cadastrar", "Os", FormMethod.Post, new { id = "frmCadastrarOS" , enctype = "multipart/form-data" }))
            {
    @* Others .net razor input fields *@
    <div class="col-md-12">
            <fieldset class="col-md-12 m-b-20">
                <legend>UPLOAD</legend>
                <div class="col-md-1 pull-right">
                    <a href="#" id="btn-fileUpload" class="btn btn-success waves-effect espaco pull-right auto-size pull" style="float: right;"><i class="zmdi zmdi-plus"></i></a>
                </div>
                <br />
                <br />
                <div class="row" id="rowUpload">
                    <div id="upload-content">
                    </div>
                </div>
            </fieldset>
        </div>
<button type="submit" id="salveOS" class="btn btn-primary waves-effect" style="float: right; text-transform: uppercase;">Save</button>
}
@section scripts {
    <script>
        var uploadDescricao = '<div class="col-md-4 form-group fg-float"> <div class="fg-line" style="margin-left:20px; margin-top:2px;"><input id="Foto" class="form-control fg-input input-file" title="Nenhum arquivo selecionado" type="file" name="files"/></div></div>';
        var uploadTextArea = '<div class="col-md-7 form-group fg-float fg-line"> <input type="text" placeholder="Descrição do arquivo..." id ="inputDescricao" class="form-control fg-input  auto-size remover-h-I"></input></div></div> '
                $('#btn-fileUpload').click(function ()
                {
                    console.log("fileupload");
                    $('#upload-content').append('<div class="row">' + uploadDescricao + uploadTextArea + '</div>');

                })
    </script>
}

我不知道如何将在这些字段中输入的值发送到我的控制器。

 public ActionResult Create (OsViewModel osViewModel, IEnumerable<HttpPostedFileBase> files)
{
       //todo 
} 

您可以使用脚本动态添加字段,然后您可以在提交表单时调用操作方法并将输入字段的值作为参数传递。您可以在发布时调用您的操作方法,如下所示:

@using (Html.BeginForm("YourActionMethod", "Controller"))
{
 <input type="hidden" id="TextBox1" name="TextBox1" value="YourData" />
 <input type="submit" value="Text you want displayed on your button"/>
}

您的操作方法可能如下所示:

public ActionResult YourActionMethod(string TextBox1)
{
//Here whatever you type in the text box will come when you submit as TextBox1
}

如果要传递多个值,可以将参数设为

List<string> paramList

最新更新