我在我的视图上有一个选择,我每次更改时都会尝试选择调用我的控制器并将所选值作为参数传递
<form asp-controller="CompetitorsMarketplace" asp-action="Index" method="get" class="form-filters">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label class="control-label">Markeplace</label>
<select id="selectChangedValue" class="form-control" asp-for="MarketplaceName"
asp-items="Model.MarketplaceSelectList"></select>
</div>
</div>
<div class="col-md-3 text-left ">
<button class="btn btn-info btn-filter"><i class="fa fa-search"></i> Filtrar</button>
</div>
</div>
</form>
&#13;
控制器
public IActionResult Index(CompetitorByMarketPlaceViewModel competitorByMarketPlaceViewModel, string textSearchMarketplace, int page = 1)
{
}
以及我通过javascript尝试的内容
<script language="JavaScript">
$('#selectChangedValue').on('change', function () {
var postData = document.getElementById("selectChangedValue").value;
// var post = { MarketplaceKey: postData};
window.location = "/CompetitorsMarketplace/Index?textSearchMarketplace=" + postData;
});
</script>
&#13;
答案 0 :(得分:0)
您可以将Url.Action与Razor一起使用,并使用.Replace jQuery函数填充您的postdata。
window.location = '@Url.Action("Index", "CompetitorsMarketplace", new { textSearchMarketplace = REPLACE })'.Replace('REPLACE',postData);