当我单击链接保存订单时
.../saveOrders?trans=[selected value]&quant=[selected value]
,.../saveOrders?quant=
无论我输入的参数值是什么,该站点都将始终重定向到该站点。
我正在使用MVC和TagHelpers:
这是图片视图的摘录:
<div class="col-md-3">
<form asp-action="CreateOrder">
<div class="form-group">
<label asp-for="TransactionType"class="control-label">Transaction Type</label>
<select asp-for="TransactionType" class="form-control">
<option value="">Select Transaction Type</option>
<option value="B">BUY</option>
<option value="BD">BUY DURCHLIEFERUNG/UMLEGUNG</option>
<option value="S">SELL</option>
<option value="SD">SELL DURCHLIEFERUNG/UMLEGUNG</option>
</select>
<span asp-validation-for="TransactionType" class="text-danger"></span>
</div>
</form>
</div>
@*Eingabe*@
<div class="col-md-3">
<form asp-action="CreateOrder">
<div class="form-group">
<label asp-for="Quantity" class="control-label">Quantity</label>
<input asp-for="Quantity" class="form-control" />
<span asp-validation-for="Quantity" class="text-danger"></span>
</div>
</form>
</div>
<div>
<a href="javascript:void(0);" onclick="history.go(-1);">Back to List</a>
<a asp-controller="Order" asp-action="saveOrders" asp-route-transaction="@Model.TransactionType" asp-route-quant="@Model.Quantity" >Save Order</a>
这是我的模型:
public class CreateOrderModel
{
public CreateOrderResponse1 CreateOrderResponse1 { get; set; }
public SaveOrderResponse1 SaveOrderResponse1 { get; set; }
public bool Save { get; set; }
public long InstrumentId { get; set; }
public string instName { get; set; }
public string securCode { get; set; }
public string currency { get; set; }
public long Exchange { get; set; }
public double Price { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
[DataType(DataType.Date)]
public DateTime quoteDate { get; set; }
public double nominal { get;set; }
public long code { get; set; }
public string pName { get; set; }
[Required]
public string TransactionType { get; set; }
[Required]
public double Quantity { get; set; }
public string strategyCode { get; set; }
public string LastAction { get; set; }
public string comment { get; set; }
这是我想通过单击saveOrder调用的Controller saveOrders。
public async Task<IActionResult> saveOrders(string transaction, double quant)
{
saveOrder.TransactionType = transaction;
saveOrder.Quantity = quant;
saveOrder.Save = true;
await saveOrder.OnCreateOrder();
return View(saveOrder);
}
当我SaveOrders
从视图中调用Controller函数时,无论选择什么null
,0
都将参数传递给事务和定量。
你使用两种形式,但是每种形式都没有submmit按钮。你可以尝试添加JavaScript来编辑“保存订单”的网址。
这是一个例子。当点击保存订单时,编辑其href。
<a onclick="save()" id="saveorder" asp-controller="Order" asp-action="saveOrders" asp-route-transaction="@Model.TransactionType" asp-route-quant="@Model.Quantity">Save Order</a>
@section Scripts{
<script>
function save() {
var transaction = document.getElementById('TransactionType').value
var quant = document.getElementById('Quantity').value
console.log(transaction, quant)
document.getElementById('saveorder').href = '/Order/saveOrders?transaction=' + transaction + '&quant=' + quant
}
</script>
}
然后,我选择买。
在此操作中获取它。