【问题标题】:jqgrid pass value throught url for ASP.NET MVC Controllerjqgrid 通过 url 为 ASP.NET MVC 控制器传递值
【发布时间】:2009-10-10 15:06:06
【问题描述】:

我有一个这样的 jqGrid 脚本:

jQuery(document).ready(function() {

var startDate = $("#startDate").Val();
jQuery("#sandgrid").jqGrid({
    url: "/Deposit/Search?startDate='" + startDate + "'",
    datatype: 'json',
    mtype: 'GET',
    height: 255,
    width: 700,
    colNames: ['Index', 'Name', 'Code'],
    colModel: [
            { name: 'item_id', index: 'item_id', width: 65 },
            { name: 'item', index: 'item', width: 150 },
            { name: 'item_cd', index: 'item_cd', width: 100}],

    pager: jQuery('#sandgridp'),
    rowNum: 10,
    rowList: [5, 10, 20, 50],
    sortname: 'item_id',
    sortorder: "desc",
    viewrecords: true,

    caption: 'My Grid'
});

});

在视图中,还有一个输入文本框:

         <td>
             <% Html.jQuery().DatePicker()
                .Name("startDate")
                .Render(); %>           
        </td>

我想做的是将“startDate”中的值传递给jqGrid的url:“/Deposit/Search?startDate='”+ startDate +“'”。但似乎数据没有传递到 url。问题是什么?是否有任何其他方法可用于使用 jqGrid 执行搜索功能?

非常感谢!!

【问题讨论】:

    标签: jquery asp.net-mvc jqgrid


    【解决方案1】:

    设置新的url,然后重新加载网格:

    jQuery("#sandgrid").jqGrid().setGridParam({url : '/Deposit/Search?startDate=' + $("#startDate").datepicker('getDate')}).trigger("reloadGrid")

    【讨论】:

    • 谢谢,LukLed!但似乎我无法正确获取 newUrl。你知道我在上面的 Javascript 文件中哪里可能出错了吗?
    • 再次感谢 LukLed!但是 $("#startDate").datepicker('getDate') 似乎返回 null。
    • 我猜是因为提交后调用了脚本,所以不再保留字段值了。
    • LukLed,您的代码是正确的。谢谢!提交后我需要使用 ViewData 来存储值。
    • 您可能希望在发布后恢复#startDate 的值,所以是的,您必须将其放回模型(ViewData)并在视图中设置值。我很高兴能帮上忙:)
    猜你喜欢
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 2020-05-24
    • 2016-11-08
    • 2016-10-18
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多