如何改变" ASP-动作="使用您选择的Viewbag .Net Core 2.0

时间:2017-12-10 11:14:41

标签: asp.net-mvc razor asp.net-core .net-core asp.net-core-2.0

我正在尝试更改" asp-action =",遗憾的是我在互联网上找不到任何东西......

目前我正在使用ViewBag,我可以从该列表中选择一个值。

我想要的是:我想把ViewBag中选定的值放在" asp-action =(here)"

Image of my index
Image of my Post method


<form method="post" enctype="multipart/form-data" asp-controller="Parser" asp-action= "PostDrone">
    <div class="col-md-10">
        <p>Upload one or more files using this form:</p> 
        <select  asp-items="@(new SelectList(@ViewBag.listofitems ))"></select> 
        <input type="file" name="files" multiple />
    </div>
</div>
<div class="form-group">
    <div class="col-md-10">
        <input type="submit" value="Upload" />
    </div>
</div>

例如:

我想要&#34; asp-action =&#34;有字符串值&#34; PostSchoen&#34;如果我从viewbag选择列表中选择了PostSchoen

我希望我说的是可以理解的

1 个答案:

答案 0 :(得分:1)

你想做什么应该通过JS

进行客户端开发

但你有三种方法:

1)您可以使用JS

进行更改

这里有一个Jquery

的例子

需要将它添加到onReady函数,这会将操作更改为选项val

<script>
$(function() {
   $("select").change(function (){
          //set form action to option val or get to whatever you need
          $(this).closest("form").attr("action",$(this).val());
    });
});
</script>

2)将数据发送到一个控制器方法,然后通过您的选择或其他选项

进行切换

视野中的变化

  <select name="typeOfUploading" asp-items="@(new
 SelectList(@ViewBag.listofitems ))"></select> 

控制器更改

     PostDrone(List<IFromFile> files, string typeOfUploading) 
{ 
//and use typeOfUploading this will be selected value from your select list 
}

3)首先为用户提供此数据发送选择,通过所需操作生成正确的视图