MVC中多个通过Ajax请求的结合.docx

上传人:b****6 文档编号:14249301 上传时间:2023-06-21 格式:DOCX 页数:15 大小:315.26KB
下载 相关 举报
MVC中多个通过Ajax请求的结合.docx_第1页
第1页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第2页
第2页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第3页
第3页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第4页
第4页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第5页
第5页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第6页
第6页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第7页
第7页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第8页
第8页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第9页
第9页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第10页
第10页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第11页
第11页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第12页
第12页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第13页
第13页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第14页
第14页 / 共15页
MVC中多个通过Ajax请求的结合.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MVC中多个通过Ajax请求的结合.docx

《MVC中多个通过Ajax请求的结合.docx》由会员分享,可在线阅读,更多相关《MVC中多个通过Ajax请求的结合.docx(15页珍藏版)》请在冰点文库上搜索。

MVC中多个通过Ajax请求的结合.docx

MVC中多个通过Ajax请求的结合

点击“图文”的按钮来跳出一个界面来显示自己组合的页面如下

JS:

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

if($("#ContentType").val()==2){

LBS.ShowModal("#modal","200px");

}

});

$("#ContentType").change(function(){

if($(this).val()==1){

$("#Contents").removeAttr("readonly");

}

else{

$("#Contents").attr("readonly","readonly");

LBS.ShowModal("#modal","200px");

}

});

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

if($("#ContentType").val()==2){

LBS.ShowModal("#modal","200px");

}

});

显示下面的弹框:

所有的Html代码

10%;">

图文消息

内容

商城

活动

both">

图文消息

both">

80px;height:

30px;">

60%;height:

30px;"/>

60px;height:

30px;"/>

both">

100%;height:

500px;overflow-y:

auto;border:

1pxsolid#ccc;background:

#fff;margin-top:

10px;">

100%;height:

100%;"multiple="multiple">

取消

确定

Js:

/*图文消息*/tabIndex的值分别表示:

1-内容2-商城3-活动

vartabIndex=1;

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

tabIndex=1;

getData(tabIndex);

});

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

tabIndex=2;

getData(tabIndex);

});

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

tabIndex=3;

getData(tabIndex);

});

functiongetData(id){

if(tabIndex==3){

$("#ddlcategory").css("display","none");

}

else{

$("#ddlcategory").css("display","inline");

}

$.ajax({

type:

"POST",

url:

virPath+"/Customer/CustomerService/GetCategory?

id="+id,

beforeSend:

LBS.AjaxBegin,

success:

function(data){

if(data!

=undefined&&data!

=null){

$("#ddlcategory").html("");

for(vari=0;i

$("#ddlcategory").append(""+data[i]["Text"]+"");

}

}

},

error:

LBS.AjaxError,

complete:

LBS.AjaxComplate

});

}

getData(tabIndex);

上面的代码是获得二级菜单(下拉菜单)例如商城下面的(商城/分类/商品)

后台的代码是[Action中的代码GetCategory方法的代码如下]:

#region图文消息

///

///获取分类

///

publicActionResultGetCategory(intid)

{

varlist=newList();

switch(id)

{

case1:

{

list.Add(newSelectListItem(){Value="1",Text="网站"});

list.Add(newSelectListItem(){Value="2",Text="分类"});

list.Add(newSelectListItem(){Value="3",Text="内容"});

break;

}

case2:

{

list.Add(newSelectListItem(){Value="1",Text="商城"});

list.Add(newSelectListItem(){Value="2",Text="分类"});

list.Add(newSelectListItem(){Value="3",Text="商品"});

break;

}

default:

break;

}

returnJson(list);

}

///

///查询数据

///

publicActionResultSearchData(stringtype,stringsubtype,stringtext)

{

var_type=Convert.ToInt32(type);

switch(_type)

{

case1:

returnGetWebSiteMenu(subtype,text);

case2:

returnGetMallMenu(subtype,text);

case3:

returnGetEventMune(subtype,text);

}

returnJson("");

}

选择select–->dropdown控件【网站、分类内容】获得

小提示:

select中的val()值是标签的values属性值,text()的值是属性Text的值

通过select的选项值和textbox的值点击按钮“搜索“,触发事件:

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

$.ajax({

type:

"POST",

url:

virPath+"/Customer/CustomerService/SearchData",

data:

{type:

tabIndex,subType:

$("#ddlcategory").val(),text:

$("#txtSearch").val()},

beforeSend:

LBS.AjaxBegin,

success:

function(data){

if(data!

=undefined&&data!

=null){

$("#ddlContent").html("");

【“#ddlcontent“表示的是一个select的标签上面这句是给标签里填充值,线面就是循环其中要注意append的用法,[]中的字段解释在最下面此间更要注意AJAX的用法比较重要】

for(vari=0;i

$("#ddlContent").append(""+data[i]["Title"]+"");

}

}

},

error:

LBS.AjaxError,

complete:

LBS.AjaxComplate

})

});

//

publicActionResultGetWebSiteMenu(stringid,stringtext)

{

varwxNews=newList();

var_type=Convert.ToInt32(id);

switch(_type)

{

case1:

using(varctx=BLLContext.Create())

{

varwcf=ObjectFactory.CreateObject();

varlist=wcf.GetWebSiteList(newWebSiteSearchModel(){Title=text});

list.ForEach(x=>

{

wxNews.Add(newWxNews()

{

Type=1,

ID=x.ID.ToString(),

Title=x.Title,

ImageUrl=x.ReplyImgUrl,

Description=x.Description,

OwnerID="",

Url=UriHelper.GetAbsolutePath(UriHelper.SiteType.HomePage,"Home/Index/"+x.ID)

});

});

}

break;

case2:

using(varctx=BLLContext.Create())

{

varwcf=ObjectFactory.CreateObject();

varlist=wcf.GetCategoryByName(text);

list.ForEach(x=>

{

wxNews.Add(newWxNews()

{

Type=2,

ID=x.ID.ToString(),

Title=x.Name,

ImageUrl=x.ReplyImgUrl,

Description=x.Description,

OwnerID="",

Url=UriHelper.GetAbsolutePath(UriHelper.SiteType.CategoryList,"Home/List/"+x.ID+"?

siteId="+x.WebSiteID)

});

});

}

break;

case3:

using(varctx=BLLContext.Create())

{

varwcf=ObjectFactory.CreateObject();

varlist=wcf.GetContentList(newContentSearchModel(){Title=text});

list.ForEach(x=>

{

varcategory=wcf.GetCategoryById(x.CategoryID);

wxNews.Add(newWxNews()

{

Type=3,

ID=x.ID.ToString(),

Title=x.Title,

ImageUrl=x.ReplyImgUrl,

Description=x.Content,

OwnerID="",

Url=UriHelper.GetAbsolutePath(UriHelper.SiteType.HomePage,"Home/Detail/"+x.ID+"?

siteId="+(category!

=null?

category.WebSiteID:

0))

});

});

}

break;

}

returnJson(wxNews);

}

有了上面的

最后在页面上显示的是这样的,F12开发者模式下看到的详细,这样再点击确定的按钮就可以将自己想要的值带出去。

为什么这样做是因为:

减小页面的负载和后台的负载,这样做是最佳的选择。

这样就减少只通过select得到id再去后台查询一次的处理。

publicclassWxNews

{

///

///子类型

///

publicintType

{

get;

set;

}

///

///商店ID

///

publicstringOwnerID

{

get;

set;

}

///

///主键

///

publicstringID

{

get;

set;

}

///

///标题

///

publicstringTitle

{

get;

set;

}

///

///图片的跳转地址

///

publicstringImageUrl

{

get;

set;

}

///

///描述

///

publicstringDescription

{

get;

set;

}

///

///跳转地址

///

publicstringUrl

{

get;

set;

}

}

以上都在MVC架构下的Action和前台页面之间处理的一个例子

如有疑问加我QQ:

我可以详细解释。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2