繁体   English   中英

在asp.net mvc中的局部视图中从文本框获取值

[英]Getting Value from textbox inside partial View in asp.net mvc

我想获取锚链接标记内的部分视图内的文本框的值,以便每次单击链接时都可以从锚链接标记将值传递给控制器​​。 我如何执行此操作。 请给一些建议..谢谢...

ViewUser.cshtml

      @model IEnumerable<Search_Paging.Models.tbl_product>
<html>
<head>
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.linkAction').click(function (e) {
                $('.linkAction').attr('href', '@Url.Action("UsersList", "Home", new { str = "---" })'.replace("---", $('.txtString').val()));
            });
            e.preventDefault();
        });
    </script>
</head>
<body>
    @Html.TextBox("Strings", null, new { @class = "txtString" })
    <input type="button" value="filter" id="Button1" />
    <div class="pagination">
        @for (int p = 1; p <= ViewBag.Total; p++)
        {
            <a href="@Url.Action("UsersList", "Home", new { str = "---" })" class="linkAction">@p</a>
        }
    </div>
</body>
</html>

getUsersList.cshtml(部分视图)

  <h2>@ViewBag.strings</h2>

HomeController.cs

        [HttpGet]
        public ActionResult ViewUser()
        {
            ViewBag.Total = 15;
            return View();
        }

        [HttpGet]
        public ActionResult UsersList(string str)
        {

            ViewBag.strings = str;
            return PartialView("UsersList");
        }

如果您使用链接来调用操作,则会导致HttpGet

ViewUser用HttpPost装饰。 您需要删除该属性。

如果您只想重定向,也可以执行window.location而不是设置链接的源。 将来源的href更改为“#”,并针对您的click事件

$('.linkAction').click(function () {
    alert("link clicked");
    window.location = '@Url.Action("getUsersList", "Home", new { page = "----" })'.replace("----", $('.txtString').val());

});

编辑:

我相信您需要将p放在引号中,否则它将认为它是一个变量。 如果您想通过p,应该可以正常工作。 查看您的代码,尽管看起来您希望将特定于该链接的p与它一起传递。 为此,我建议将p作为id放在链接上。 然后在您的脚本中,您应该可以执行以下操作

$(this).id;

要获得p的值,您需要将其放在replace中,以使其包含在链接中。 如果您有任何疑问,请告诉我。 我还建议您不要将p用作替换的值。 如果链接中有任何p,则将其替换为该值。 因此,请使用独特的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM