如何将元素作为参数传递

时间:2018-01-01 10:14:46

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

我有以下代码:

@Html.PagedListPager(Model, page => Url.Action("Index", new {from = ? , to = ? , page}))

这是我的Action方法:

public ActionResult Index(string from, string to, int? page)
{
}

我想指定来自选择器的fromto参数,其定义如下:

@Html.EditorFor(c => c.LastOrDefault().Date, "MyPickerTemplate")
@Html.EditorFor(c => c.FirstOrDefault().Date, "MyPickerTemplate")

如何将EditorFor's的值作为参数发送给Url.Action?我可以用javaScript找到它们,如下所示:

var from = document.GetElementByClassName("date")[0].value;
var to = document.GetElementByClassName("date")[1].value;

但我不知道我应该如何将它们作为参数发送到Url.Action

1 个答案:

答案 0 :(得分:1)

var from = document.GetElementByClassName("date")[0].value;
var to = document.GetElementByClassName("date")[1].value;

现在你有两个参数。你可以调用ajax函数,如下所示。

$.ajax({
    url: "/Controller/TheAction", 
    type: "get",
    data: { fromParam: from, toParam: to }
 });

这是控制器,

public ActionResult TheAction(DateTime fromParam, DateTime toParam)
{
    // your code.
}

编辑: 您必须从寻呼机按钮单击调用ajax。为此,请执行以下操作。

<div id="myPager">
    @Html.PagedListPager(Model, Page => "")
</div>

<script type="text/javascript">
    $(function () {
        $('#myPager').on('click', 'a', function () {
            var currentPage = $(this);
            // ajax call
        });
    });
</script>