2017-08-19 82 views
0

我有以下幾點:輸入值發送到Url.Action

<div> 
    <form> 
     <input id="toPay" type="text" readonly> 
    </form> 
</div> 

<div> 
    <form action="@Url.Action("Create", "Home", new {price = toPay.Value})"> 
     <input type="submit" value="Pay"/> 
    </form> 
</div> 

我想送toPay值作爲參數是HttpGet類型的Create操作方法。我怎樣才能做這樣的事情new {price = toPay.Value}

+0

我並沒有完全得到你所需要的。你可能會混淆一些事情。表單用於發佈請求和獲取請求的鏈接,您需要哪一個? – PedroSouki

+0

@PedroSouki提交按鈕應該像鏈接一樣。 –

+0

要使用按鈕充當鏈接並使用HttpGet方法,請使用javascript攔截提交事件,並使用jquery進行Get請求。但創建你應該使用Post請求。那就是爲什麼我說你的需求有一些混亂。 – PedroSouki

回答

1
<form method="get" action="@Url.Action("MyAction", "MyController")" > 
    @Html.Textbox("toPay") 
    <input type="submit" value="Pay"/> 
</form> 
1

input元素必須是相同的形式

<form action="@Url.Action("Create", "Home")"> 
<div> 
    <input id="toPay" type="text" readonly> 
</div> 

<div> 
    <input type="submit" value="Pay"/> 

</div> 
</form> 

的數據隨後會跨越在HTTP主體通過一個POST消息中。

0

試試這個:

<div> 
<form> 
    <input id="toPay" type="text" readonly/> //close input tag 
</form> 
</div> 
<div> 
<form> 
<input type="button" value="Pay" id = "pay"/> // make this change 
</form> 
</div> 
<script> 
    $('#pay').click(function() { 
     $.ajax({ 
      url: @Url.Action("Create", "Home") + '?price =' + $('#toPay').val() 
      type: 'POST', 
      // ... other ajax options ... 
     }); 
    }); 
</script>