Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剑道UI网格传递id从文本输入到读取命令_Javascript_C#_Jquery_Kendo Ui_Asp.net Mvc 5 - Fatal编程技术网

Javascript 剑道UI网格传递id从文本输入到读取命令

Javascript 剑道UI网格传递id从文本输入到读取命令,javascript,c#,jquery,kendo-ui,asp.net-mvc-5,Javascript,C#,Jquery,Kendo Ui,Asp.net Mvc 5,使用剑道UI网格的Read命令将id传递给控制器的最佳方式是什么?id必须从文本框中获取,在网格中加载数据的触发器必须通过单击按钮获得。我更喜欢使用javascript和jQuery来实现这一点。这是我目前掌握的代码: 控制器: public ActionResult StrategyParameter_Read([DataSourceRequest]DataSourceRequest request, int? id) { IQueryable<Strat

使用剑道UI网格的
Read
命令将id传递给控制器的最佳方式是什么?id必须从文本框中获取,在网格中加载数据的触发器必须通过单击按钮获得。我更喜欢使用javascript和jQuery来实现这一点。这是我目前掌握的代码:

控制器:

    public ActionResult StrategyParameter_Read([DataSourceRequest]DataSourceRequest request, int? id)
    {
        IQueryable<StrategyParameter> strategyParam = 
                               _db.StrategyParameter.Where(p => p.StrategySetId == id);
        DataSourceResult result = strategyParam.ToDataSourceResult(request, sp => new {
            Id = sp.Id,
            StrategySetId = sp.StrategySetId,
            ParamType = sp.ParamType,
            Key = sp.Key,
            Value = sp.Value,
            MinimumValue = 0,
            MaximumValue = 0,
            IncrementalValue = 0
        });

        return Json(result);
    }
<div class="form-group strategy-set-id">
    <label class="col-sm-2 control-label" for="strategySetId">Strategy Set ID</label>
    <div class="col-sm-4">
        <input type="number" min="0" step="1" id="strategySetId" class="form-control" placeholder="Enter a Strategy Set ID">
        <span class="help-block"></span>
    </div>
    <div class="col-sm-offset-2 col-sm-1">
        <button type="submit" class="btn btn-primary" id="get-params">Get Parameters</button>
    </div>
</div>

@(Html.Kendo().Grid<StrategyParameterViewModel>()
    .Name("strategyParameters")
    .Columns(columns =>
    {
      columns.Bound(c => c.Id).Width(170);
      columns.ForeignKey(p => p.ParamType, (System.Collections.IEnumerable)ViewData["paramTypes"], "Key", "Value").Title("Param Type").Width(200);
      columns.Bound(c => c.Key);
      columns.Bound(c => c.Value);
      columns.Bound(c => c.MinimumValue);
      columns.Bound(c => c.MaximumValue);
      columns.Bound(c => c.IncrementalValue);
    })
    //.ColumnMenu()
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .Pageable(pager =>
        pager.Refresh(true)
    )
    .Navigatable()
    .Resizable(resize => resize.Columns(true))
    .Sortable(sortable =>
    {
      sortable.SortMode(GridSortMode.SingleColumn);
      sortable.AllowUnsort(false);
    })
    .Filterable(filterable => filterable.Mode(GridFilterMode.Menu))
    .Scrollable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(100)
        .Model(model =>
        {
          model.Id(p => p.Id);
          model.Field(p => p.Id).Editable(false);
        })
        .Read(read => read.Action("StrategyParameter_Read", "StrategySets"))
        .Sort(sort => sort.Add("Id").Descending())
    )
    .Deferred()
)
public ActionResult策略参数_Read([DataSourceRequest]DataSourceRequest请求,int?id)
{
IQueryable strategyParam=
_其中(p=>p.StrategySetId==id);
DataSourceResult result=strategyParam.ToDataSourceResult(请求,sp=>new{
Id=sp.Id,
StrategySetId=sp.StrategySetId,
ParamType=sp.ParamType,
键=sp.键,
值=sp.值,
最小值=0,
最大值=0,
增量值=0
});
返回Json(结果);
}
查看:

    public ActionResult StrategyParameter_Read([DataSourceRequest]DataSourceRequest request, int? id)
    {
        IQueryable<StrategyParameter> strategyParam = 
                               _db.StrategyParameter.Where(p => p.StrategySetId == id);
        DataSourceResult result = strategyParam.ToDataSourceResult(request, sp => new {
            Id = sp.Id,
            StrategySetId = sp.StrategySetId,
            ParamType = sp.ParamType,
            Key = sp.Key,
            Value = sp.Value,
            MinimumValue = 0,
            MaximumValue = 0,
            IncrementalValue = 0
        });

        return Json(result);
    }
<div class="form-group strategy-set-id">
    <label class="col-sm-2 control-label" for="strategySetId">Strategy Set ID</label>
    <div class="col-sm-4">
        <input type="number" min="0" step="1" id="strategySetId" class="form-control" placeholder="Enter a Strategy Set ID">
        <span class="help-block"></span>
    </div>
    <div class="col-sm-offset-2 col-sm-1">
        <button type="submit" class="btn btn-primary" id="get-params">Get Parameters</button>
    </div>
</div>

@(Html.Kendo().Grid<StrategyParameterViewModel>()
    .Name("strategyParameters")
    .Columns(columns =>
    {
      columns.Bound(c => c.Id).Width(170);
      columns.ForeignKey(p => p.ParamType, (System.Collections.IEnumerable)ViewData["paramTypes"], "Key", "Value").Title("Param Type").Width(200);
      columns.Bound(c => c.Key);
      columns.Bound(c => c.Value);
      columns.Bound(c => c.MinimumValue);
      columns.Bound(c => c.MaximumValue);
      columns.Bound(c => c.IncrementalValue);
    })
    //.ColumnMenu()
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .Pageable(pager =>
        pager.Refresh(true)
    )
    .Navigatable()
    .Resizable(resize => resize.Columns(true))
    .Sortable(sortable =>
    {
      sortable.SortMode(GridSortMode.SingleColumn);
      sortable.AllowUnsort(false);
    })
    .Filterable(filterable => filterable.Mode(GridFilterMode.Menu))
    .Scrollable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(100)
        .Model(model =>
        {
          model.Id(p => p.Id);
          model.Field(p => p.Id).Editable(false);
        })
        .Read(read => read.Action("StrategyParameter_Read", "StrategySets"))
        .Sort(sort => sort.Add("Id").Descending())
    )
    .Deferred()
)

策略集ID
获取参数
@(Html.Kendo().Grid())
.名称(“战略参数”)
.列(列=>
{
columns.Bound(c=>c.Id).Width(170);
columns.ForeignKey(p=>p.ParamType,(System.Collections.IEnumerable)ViewData[“paramTypes”],“Key”,“Value”).Title(“ParamType”).Width(200);
columns.Bound(c=>c.Key);
columns.Bound(c=>c.Value);
columns.Bound(c=>c.MinimumValue);
columns.Bound(c=>c.MaximumValue);
columns.Bound(c=>c.IncrementalValue);
})
//.column菜单()
.Editable(可编辑=>Editable.Mode(GridEditMode.InLine))
.Pageable(寻呼机=>
寻呼机刷新(真)
)
.Navigatable()
.resize可调整大小(resize=>resize.Columns(true))
.Sortable(可排序=>
{
sortable.SortMode(GridSortMode.SingleColumn);
sortable.AllowUnsort(false);
})
.Filterable(Filterable=>Filterable.Mode(GridFilterMode.Menu))
.Scrollable()
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(100)
.Model(Model=>
{
model.Id(p=>p.Id);
model.Field(p=>p.Id).可编辑(false);
})
.Read(Read=>Read.Action(“策略参数_Read”,“策略集”))
.Sort(Sort=>Sort.Add(“Id”).Descending())
)
.递延
)

如果该值在配置期间可用,则只需提供函数调用即可返回数据属性中的数据

.DataSource(dataSource => dataSource
    .Ajax()
    ...
    .Read(read => read.Action("StrategyParameter_Read", "StrategySets").Data("getMyID"))
    ...
 )
JS函数

 function getMyID() 
     return {
         MyID:$("#tbID").val();                
     }
 }
如果该值仅在初始网格配置后可用,则可以使用以下命令刷新网格:

 grid.dataSource.read({ MyID:$("#tbID").val()});

如果该值在配置期间可用,则只需提供函数调用即可返回数据属性中的数据

.DataSource(dataSource => dataSource
    .Ajax()
    ...
    .Read(read => read.Action("StrategyParameter_Read", "StrategySets").Data("getMyID"))
    ...
 )
JS函数

 function getMyID() 
     return {
         MyID:$("#tbID").val();                
     }
 }
如果该值仅在初始网格配置后可用,则可以使用以下命令刷新网格:

 grid.dataSource.read({ MyID:$("#tbID").val()});