$("#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:
我可以详细解释。
。
。
。
展开阅读全文
相关搜索
资源标签