个人学习jQuery uI dialog +mvcpager心得

最近上班过程中用到了jQuery ui,说实话我也没得用过这个jQuery ui 框架,写的不好的地方希望大家多多指点。
首先,我们在用到这个dialog这个弹出层方法事,先定义一个

,当然你也可以直接用这个dialog方法里面的属性来实现,本人针对这个dialog的方法做了一个增删查改。
控制器方法:

///

/// 公共字典信息集合
///

///
///
public ActionResult Vocabulary(int id=1)
{
var List = comm_DictTypeBLL.GetModel().OrderByDescending(a => a.kid).ToList().ToPagedList(id, 10);
if (Request.IsAjaxRequest())
//PartialPage1指的是局部视图
return PartialView("_PartialPage1", List);
return View(List);
}

局部视图PartialPage1 html 代码
@using Webdiyer.WebControls.Mvc
@model PagedList

@foreach (var item in Model) {

}

编号 类别代码 类别名称 类别简称 拼音码 五笔码 启用标识 备注 编辑
@Html.DisplayFor(modelItem => item.TypeCode) @Html.DisplayFor(modelItem => item.TypeName) @Html.DisplayFor(modelItem => item.TypeShortName) @Html.DisplayFor(modelItem => item.PYCode) @Html.DisplayFor(modelItem => item.WBCode) @Html.DisplayFor(modelItem => item.IfUse) @Html.DisplayFor(modelItem => item.Remark) 编辑

@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id", ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList, ShowGoButton = false }, new MvcAjaxOptions { UpdateTargetId = "articles" })

主页面 Vocabulary 视图

@Html.Partial("_PartialPage1",Model)

@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}

类别代码 启用标志

类别名称 类别简称
拼音码 五笔码
备注

类别代码:
类别名称:
类别简称:
拼 音 码:
五  笔 码:
启用标示:

备      注:

注意MvcPager这个第三方插件要在模板页加


@RenderBody()

@Scripts.Render("~/bundles/jquery")

@RenderSection("scripts", required: false)

不然会报错,

下面我们来看jQuery ui dialog 弹出层来添加数据

$("#NewAdd").click(function () {
$("#dialog-message").dialog({
width: 600,
Heigth: 600,
dialogClass: true,
modal: true,
buttons: {
"保存": function (e) {
if ($("#TypeCode").val() == "") { alert("类别代码不能为空"); e.preventDefault(); $("#TypeCode").focus(); }
else if ($("#TypeName").val() == "") { alert("类别名称不能为空"); e.preventDefault(); $("#TypeName").focus(); }
else if ($("#TypeShortName").val() == "") { alert("类别简称不能为空"); e.preventDefault(); $("#TypeShortName").focus(); }
else if ($("#PYCode").val() == "") { alert("名称拼音码不能为空"); e.preventDefault(); $("#PYCode").focus(); }
else if ($("#WBCode").val() == "") { alert("名称五笔码不能为空"); e.preventDefault(); $("#WBCode").focus(); }
else if ($("#txttar").val() == "") { alert("备注不能为空"); e.preventDefault(); $("#txttar").focus(); }
else {
var TypeCode = $("#TypeCode").val();
var TypeName = $("#TypeName").val();
var TypeShortName = $("#TypeShortName").val();
var PYCode = $("#PYCode").val();
var WBCode = $("#WBCode").val();
var txttar = $("#txttar").val();
var IfUse = $("#IfUse").val();
$.post("/Memorial/AddList", { TypeCode: TypeCode, TypeName: TypeName, TypeShortName: TypeShortName, PYCode: PYCode, WBCode: WBCode, txttar: txttar, IfUse: IfUse, }, function (data) {
if (data == "OK") {
$("#TypeCode").attr("value", "");
$("#TypeName").attr("value", "");
$("#TypeShortName").attr("value", "");
$("#PYCode").attr("value", "");
$("#WBCode").attr("value", "");
$("#txttar").attr("value", "");
alert("添加成功");
location.replace(location);
}
else if (data == "NO") {
alert("添加失败");
return false;
}
});
}

}, "关闭": function () { $(this).dialog("close"); }
},
})

});

删除数据

$("#Rome").click(function () {

if ($("input[name=chec]").is(‘:checked‘) == true) {
if (confirm("确认删除吗?")) {
var str = "";
$("input[name=chec]:checkbox:checked").each(function () {
str += $(this).val() + ":";
});
$.post("/Memorial/RomecoList", { kid: str }, function (data) {
if (data == "OK") {
alert("删除成功!");
window.location.reload(true);
}
else {
alert("删除失败");
}
});
}
}
else {
alert("请选择一条或多条数据源");
return;
}
});

这个地方的后台的接受方法
string kid= Request["kid"];
kid= kid.Substring(0, kid.Length - 1);
string[] id = kid.Split(‘:‘);

修改数据

$(function () {
$(".butt").click(function () {
var comm_DictType = $(this);
$("#Skid").attr("value", comm_DictType.attr("kid"));
$("#STypeCode").attr("value", comm_DictType.attr("TypeCode"));
$("#STypeName").attr("value", comm_DictType.attr("TypeName"));
$("#STypeShortName").attr("value", comm_DictType.attr("TypeShortName"));
$("#SPYCode").attr("value", comm_DictType.attr("PYCode"));
$("#SWBCode").attr("value", comm_DictType.attr("WBCode"));
$("#SIfUse").attr("value", comm_DictType.attr("IfUse"));
$("#SRemark").attr("value", comm_DictType.attr("Remark"));
$("#window").dialog({
title: "修改信息",
width: 500,
height: 420,
modal: true,
buttons: {
"修改": function () {
var kid = $("#Skid").val();
var TypeCode = $("#STypeCode").val();
var TypeName = $("#STypeName").val();
var TypeShortName = $("#STypeShortName").val();
var PYCode = $("#SPYCode").val();
var WBCode = $("#SWBCode").val();
var IfUse = $("#SIfUse").val();
var Remark = $("#SRemark").val();
$.post("/Memorial/NewUpdate", { kid: kid, TypeCode: TypeCode, TypeName: TypeName, TypeShortName: TypeShortName, PYCode: PYCode, WBCode: WBCode,IfUse:IfUse, Remark: Remark }, function (data) {
if (data == "OK") {

alert("修改成功");
location.replace(location);
}
else {
alert("修改失败");
}
});

},
"撤销": function () { $(this).dialog("close"); },
},
});
});
以上代码就是对dialog的使用

时间: 2024-10-13 06:57:36

个人学习jQuery uI dialog +mvcpager心得的相关文章

解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面.逻辑是修改一个广告的图片和标题. 效果截图如下: 使用Select2,主要是因为它支持下拉式搜索.所以在数据稍微多一点,作为搜索选择功能的首选.但是运行出来之后,发现搜索框无法点击.开始想到的index不够大,被其他的元素覆盖了.但是跳转z-index也无法解决.在普通的页面,搜索框是ok的. 2.解决办法 通过Google搜索,发现sele

Select2 在jquery UI Dialog 搜索项失效且不能focus到搜索框解决方案

今天在项目到遇到一个select2插件在jquery UI Dialog 不能focus到搜索框的问题,后来在js 代码中加入(位置可以自己选 ,我选的位置是select2.min.js 后面,因为很多地方都用到,不用针对一个一个功能去修改): $.ui.dialog.prototype._allowInteraction = function(e) {     return !!$(e.target).closest('.ui-dialog, .ui-datepicker, .select2-

jQuery UI dialog 参数说明

前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比如弹出两个层A和B  B层如果显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,因为B层是在A层上弹出的 B的大小受到A层大小的限制 于是找到了这个资料 保存下来 ----------------------------------------------------------------------------------------------------- 初始化参数 对于 dialog 来说

API分析——Jquery UI Dialog

1.阅读API文档的一般方法? 通常地, API由三部分构成:属性.方法.事件. 属性表示参数配置,作为一个组件的微调,或者功能的开启与关闭: 方法表示组件能够发生的动作,或者组件的状态监测: 事件表示触发,即提供一个观测点,当触碰到观测点时,将产生通知或函数回调: 这三类几乎覆盖了可能的用户动作.数据传递. 2.如何看Jquery UI Dialog的API? 2.1了解对话框的构成 要掌握一个东西,就必须先了解他,就像吃饭睡觉那么自然,才能更好地掌握. 对于对话框,我们也要做同样的了解. 我

JQuery UI dialog Demo

原文:JQuery UI dialog Demo 源代码下载地址:http://www.zuidaima.com/share/1550463533812736.htm 小例子

jquery ui dialog 内部使用asp.net控件

dialog中只要加上 appendTo:"form", 就能解决后端无法获取asp.net控件的值,同时解决了 modal: true, 启动模式对话框时无法操作对话框. jquery ui dialog代码: $(document).ready(function() { $( "#dialog" ).dialog({ autoOpen: true, appendTo:"form", height: 250, width: 300, modal

基于Jquery UI Dialog 的改写

我最近在做的这个项目是纯粹的js+html5文件,java肯定有涉及,不过现在基本上在使用js和html5的特性. 项目要使用一种类似于dialog的功能,让一部分页面能够弹出来,并且可以移动,当然使用dialog是很不错的选择 但是在真正使用的时候发现,jquery UI的dialog虽然能满足基本的要求但是,有些功能是不能满足,如果自己写这个dialog,显然不太合适,因为jquery只有一点不能满足需求,是要在dialog的右上角多加几个按钮,单纯的一个关闭按钮不能满足需求.因为jquer

jquery ui dialog autofocus 去掉默认第一个元素获取焦点

经常在dialog窗口中第一个元素为日期控件时,打开窗口则会自动显示日期下拉框. 解决办法:在dialog的open事件中,设置父对象获得焦点. p1_dialog_seniorSearch.dialog({ title:"高级查询", autoOpen:false,//默认关闭 modal: true,//开启遮罩层 width:570, height:330, buttons: { "查询":function(){ seniorSearch(1,20) } ,

Jquery UI Dialog 导致C#页面后台事件失效

$(function () { dialog = $("#dialog-form").dialog({ autoOpen: false, height: 450, width: 500, modal: true, close: function () { } }); //添加下面的代码就可解决了 dialog.parent().appendTo(jQuery("form:first")); })