我有一个input
和一个button
。输入的值应该传递给@url.Action
,如以下代码中的描述:
<input class="in-class" id="textbox" type="text" runat="server" />
<button class="btn-class" id="press" type="button" onclick="location.href='@Url.Action("Index", "Home", new {id = /*Value Of textbox*/ })'" >click here</button>
正如我在代码中提到的,/*Value Of textbox*/
应该是输入的当前值。
答案 0 :(得分:2)
我使用此表格
<input type="text" id="txtValue" />
<input type="button" value="Detail" onclick="location.href='@Url.Action("Action", "Home")?Value=' + $('#txtValue').val()" />
否则您将无法在jquery函数中编写该代码。
答案 1 :(得分:1)
使用jQuery或JavaScript更改href值,如下所示:
<button class="btn-class" id="press" type="button" onclick="changeHref()" >click here</button>
function changeHref(){
var url = '@Url.Action("Index", "Home")';
var txtVal = $('#textbox').val();
window.location.href = url + '/?txtVal=' + txtVal;
}
答案 2 :(得分:1)
我更喜欢使用jQuery click
处理程序,因为您具有按钮ID并遵循standard event registration model to separate HTML & JS:
HTML
<input class="in-class" id="textbox" type="text" />
<button class="btn-class" id="press" type="button">click here</button>
JS
$('#press').click(function () {
var url = '@Url.Action("Index", "Home")';
var textValue = $('#textbox').val();
window.location.href = url + '?id=' + textValue;
});
PS::由于Razor不需要,因此不需要在MVC中使用runat="server"
属性。