Javascript 根据我单击剑道UI的按钮发送参数
我需要根据我在主视图中单击(编辑或创建)的按钮向局部视图(弹出窗口)发送一个参数,该部分视图依次发送控制器的此参数(带过滤列表) 这是我的控制器Javascript 根据我单击剑道UI的按钮发送参数,javascript,c#,jquery,asp.net,kendo-ui,Javascript,C#,Jquery,Asp.net,Kendo Ui,我需要根据我在主视图中单击(编辑或创建)的按钮向局部视图(弹出窗口)发送一个参数,该部分视图依次发送控制器的此参数(带过滤列表) 这是我的控制器 public ActionResult docList(string type){ var business = new mymodelBusiness(); return Json(from item in business.GetList(Id, UsrId, type) s
public ActionResult docList(string type){
var business = new mymodelBusiness();
return Json(from item in business.GetList(Id, UsrId, type)
select new SelectListItem
{
Value = Convert.ToString(item.Id),
Text = item.Cod + ", " + item.Nom //+ item.usrNom
}, JsonRequestBehavior.AllowGet);
}
这是我在局部视图(弹出)中需要的下拉列表
@LabelFor(m=>m.novId)
@(Html.Kendo().DropDownListFor(p=>p.novId)
.名称(“clcList”)
.DataTextField(“文本”)
.DataValueField(“值”)
.过滤器(“包含”)
.DataSource(source=>
{
source.Read(Read=>
{
.Read(Read=>Read.Action(““docList”,“myController”,new{Action=variable}”);//问题出在这里。我不知道如何接收变量
});
})
.HtmlAttributes(新的{@class=“form control”})
)
这是我的主要观点,只有网格,我需要传统的数据函数,但什么都没做
@(Html.Kendo().Grid<myModel>
()
.HtmlAttributes(new { style = "width:100%;text-align:left" })
.Name("grid")
.Columns(columns =>
{
columns.Command(command =>
{
columns.Bound(c => c.Cod).Width(200);
})
.ClientDetailTemplateId("client-template")
.ToolBar(toolbar =>
{
toolbar.Template(@<text>
<button class='btn btn-success btn-sm k-grid-add' data-toggle="tooltip" data-placement="bottom" title="Create">
<span class='glyphicon glyphicon-plus'></span>
</button>
<span class="glyphicon glyphicon-book "></span>
</button>
</text>);
})
.ColumnMenu()
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("docCustom").Window(w => w.Width(700)))
})
.Events(events =>
{
events.Cancel("onCancel");
events.Remove("onRemove");
events.Save("onSave");
events.Edit("onEdit");
events.DataBound("onDataBound");
})
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("error_handler").RequestEnd("onRequestEnd"))
.PageSize(10)
.Model(model => model.Id(p => p.masterId))
.Read(read => read.Action("AccionRead", "myController"))
.Create(create => create.Action("AccionCreate", "myController"))
.Update(update => update.Action("AccionUpdate", "myController"))
.Destroy(destroy => destroy.Action("AccionDelete", "myController"))
).AutoBind(false)
)
@(Html.Kendo().Grid
()
.HtmlAttributes(新的{style=“宽度:100%;文本对齐:左”})
.名称(“网格”)
.列(列=>
{
columns.Command(Command=>
{
columns.Bound(c=>c.Cod).Width(200);
})
.ClientDetailTemplateId(“客户端模板”)
.ToolBar(ToolBar=>
{
工具栏.模板(@
);
})
.column菜单()
.Editable(Editable=>Editable.Mode(GridEditMode.PopUp).TemplateName(“docCustom”).Window(w=>w.Width(700)))
})
.Events(Events=>
{
事件。取消(“取消”);
事件。删除(“onRemove”);
事件。保存(“onSave”);
事件。编辑(“onEdit”);
事件。数据绑定(“onDataBound”);
})
.DataSource(DataSource=>DataSource
.Ajax()
.Events(Events=>Events.Error(“错误处理程序”).RequestEnd(“onRequestEnd”))
.页面大小(10)
.Model(Model=>Model.Id(p=>p.masterId))
.Read(Read=>Read.Action(“AccionRead”、“myController”))
.Create(Create=>Create.Action(“AccionCreate”、“myController”))
.Update(Update=>Update.Action(“AccionUpdate”、“myController”))
.Destroy(Destroy=>Destroy.Action(“AccionDelete”、“myController”))
).AutoBind(假)
)
事件OneEdit:
function onEdit(e) {
//Implement the event handler for Edit
if (e.model.isNew()) {
$('.k-window-title').html('New');
$('.k-grid-update').html('<span class="k-icon k-add"></span> Create');
}
}
函数onEdit(e){
//实现用于编辑的事件处理程序
如果(e.model.isNew()){
$('.k-window-title').html('New');
$('.k-grid-update').html('Create');
}
}
您需要发布事件的java脚本代码。您已经有一个名为“onEdit”的事件可供编辑,它可以轻松地传递所需的参数。我不确定您是否有任何事件可供创建。那么您试图传递给新的局部视图的参数是什么?“创建”还是“编辑”,类似这样的内容:.Read(Read=>Read.Action(““docList”,“myController”,new{Action=variable}))您需要发布事件的java脚本代码。您已经有一个用于编辑的事件,名为“OneEdit”,它可以轻松地传递所需的参数。我不确定您是否有任何用于创建的事件。因此,您试图传递给新的局部视图的参数是什么?“创建”还是“编辑”,类似这样的内容:.Read(Read=>Read.Action(““docList”,“myController”,new{Action=variable}))
function onEdit(e) {
//Implement the event handler for Edit
if (e.model.isNew()) {
$('.k-window-title').html('New');
$('.k-grid-update').html('<span class="k-icon k-add"></span> Create');
}
}