按钮单击时将文本框值传递给控制器​​?

时间:2013-10-25 02:57:41

标签: c# asp.net-mvc asp.net-mvc-4

我需要在按钮点击时将文本框数据传递给控制器​​操作。这是我的代码:

<input id="txt" type="text">
<button onclick="@Url.Action("MyAction", "Mycontroller", new {currencyCode=ViewBag .currencyCode,endDate=Model.StartDate, value entered in txt above})" > 

我不能在这里使用表格。您能否建议我如何访问/传递此值以进行操作?

感谢您的帮助并指导我。

4 个答案:

答案 0 :(得分:6)

下面的代码将文本框值发送给控制器的操作。

<input id="txt" type="text">
<button id="button">Click Me</button>

@section Scripts {
    <script type="text/javascript">
        $("#button").click(function () {
            var txtVal = $("#txt").val();
            window.location = "@Url.Action("TheAction","TheController")" + 
                              "/" + txtVal;
        });
    </script>
}

答案 1 :(得分:3)

您可以使用类似

的内容
<div>
  <input type='text' name='UnboundTextBoxName' />
</div>

MVC将自动获取UnboundTextBoxName的值,并将该值插入到同名参数中。

答案 2 :(得分:2)

您应该使用<form>标记并将操作设置为控制器,并在模型中设置一个位置来存储数据。

答案 3 :(得分:0)

这可以帮助您将在文本框中输入的值作为网址的一部分,然后在指定的控制器中点击所需的操作

<form id = "form1" runat="server">
   <asp:TextBox id= "txtbox" runat="server"></asp:TextBox>
   <input type="button" id = "searchbtn" value="Search" onclick="srch_Click()"/>
</form>

<script type ="text/javascript" >
function srch_Click() {
        var host = window.location.host;
        var txt = $("#txtbox").val();
        var path = "/CONTROLLER/ACTION/" + txt;
        window.location.pathname = path;
        var url = host + path;
        window.location(url);
    }
</script>

欢迎任何对上述代码的即兴表达