Html控件 select前台动态绑定?

lihui123 2009-10-21 04:57:53
Html控件 select前台动态绑定?
...全文
527 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihui123 2009-10-22
  • 打赏
  • 举报
回复
谢谢 各位大哥了,小弟 分 不多意思意思下~~
ywspace 2009-10-21
  • 打赏
  • 举报
回复
你可以使用Ajax.dll ,在前台调用后台的方法用JavaScript循环绑定数据。

比如:

function GetShopArea()
{
var cityID=document.getElementById('<%=cy.ClientID %>');
GetDropDownList.GetShopAreaData(cityID.value,get_ShopArea_callBack);
}
function get_ShopArea_callBack(response)
{
if(response!=null)
{
var ds=response.value;
if(ds!=null&&typeof(ds)=="object"&&ds.Tables!=null)
{
document.getElementById("shoparea").length=0;
document.getElementById("shoparea").options.add(new Option("--请选择--","-1"));
for(var i=0;i<ds.Tables[0].Rows.length;i++)
{
var name=ds.Tables[0].Rows[i].F_ShopAreaName;
var values=ds.Tables[0].Rows[i].F_ShopAreaID;
document.getElementById("shoparea").options.add(new Option(name,values));
}
}
else
{
document.getElementById("shoparea").length=0;
document.getElementById("shoparea").options.add(new Option("--请选择--","-1"));
}
}
}

ivws_19 2009-10-21
  • 打赏
  • 举报
回复
var select=document.getElementById("select");
for(var i=10;i>=0;i--){
option = new Option(i,i+1);
select.options.add(option);
}
seamus1314 2009-10-21
  • 打赏
  • 举报
回复
什么时候给我分呀
seamus1314 2009-10-21
  • 打赏
  • 举报
回复
$(document).ready(function(){

$.ajax({
type: "post",
url: "提交路径" ,
data:"" ,
datatype: "json",
error: function(msg){alert('获取数据错误!!!');},
success: function(msg){
var message=""+msg.parseJSON().message;
var Directors = message.split("/");
var k = 0;
document.getElementById("selectName").options.length = 1;
for(var j= 0; j < Directors.length-1 ;j++){
var directorValue = Directors[j].split(",");
k = j +1 ;
document.getElementById("selectName").options[k]=new Option(directorValue[1],directorValue[0]);
}

}
});
})
thilong123 2009-10-21
  • 打赏
  • 举报
回复
前台?页面加载后绑定?
如果是在页面加载后绑定后就要用js了.JS操作DOM元素就行了.动态数据用ajax.
这个分页控件,修改连接字符串,和SQL语句,就可以了。 剩下的直接粘贴进去。就行。 强大的各种属性,附带多种CSS,想怎么分就怎么分页! 拖入工具箱后实现 1.2.3步(你修改下连接符,表就可以了) 控件.aspx页面 复制粘贴到前台页面适当位置即可 控件.cs页面,后台页面 只需3步 设置连接字符串 string connstring = "Data Source=.;Initial Catalog=数据库名;User ID=用户名;Password=密码"; 程序页面内容:复制粘贴修改几个 //首页加载-1 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlConnection conn = null; try { conn = new SqlConnection(connstring); conn.Open(); SqlCommand Count = new SqlCommand(); Count.Connection = conn; //修改你们查询的表 Count.CommandText = "select count(*) from products"; //查询 Pager1.RecordCount = (int)Count.ExecuteScalar(); //Pager1为分页控件ID BindData(); } finally { conn.Close(); } } } //绑定数据-2 public void BindData() { SqlConnection conn = new SqlConnection(connstring); string sql = "select * from products";//修改你们的查询语句: //select top查询语句 SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, Pager1.PageSize * (Pager1.CurrentPageIndex - 1), Pager1.PageSize, "temptbl"); DataTable dt = ds.Tables["temptbl"]; DataList1.DataSource = dt; DataList1.DataBind(); } //控件事件-每次重新绑定 protected void AspNetPager1_PageChanged(object src, EventArgs e) { BindData(); }
VS2005 分页自定义控件,测试环境在:VS2005+SQL2005下通过

演示说明:前台ASPX页(可以绑定的控件是:DataGrid,GridView,Repeater,DataList等等)
1:先注册一下控件,不要跟我说看不懂下面这句
<%@ Register Assembly="CommonClass" Namespace="ng.Common.WebControls" TagPrefix="efp" %>

2:绑定,更加简单,在适合的位置放上这句分页代码:(还有些属性自己试试)


3:后台绑定:(更加简单)
int recordCount;//总记录数
CategoryData cd = new CategoryData();
List ciList = cd.GetSoftList(this.pbComment.CurrentPage, this.pbComment.PageSize, out recordCount);//传递参数,必须要有这三个
pbComment.RecordCount = recordCount;//因为是输出参数,所以得到他的总记录数
GridView1.DataSource = ciList;//最后绑定
GridView1.DataBind();

4:SQL语句
Create PROCEDURE [dbo].[SP_Soft_GetSoftList]
@CurrentPage int, @PageSize int, @RecordCount int output
AS
DECLARE @MinPage int, @MaxPage int
SET @MinPage = (@CurrentPage - 1) * @PageSize + 1
SET @MaxPage = @MinPage + @PageSize

BEGIN
SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY SoftID DESC) AS RowNumber FROM V_SoftCategoryAndSoftInfo ) AS A WHERE RowNumber BETWEEN @MinPage AND @MaxPage

SELECT @RecordCount = COUNT(SoftID) FROM Soft_Info
END

注意:sql2005的新特性:ROW_NUMBER(),自己查帮助看看介绍,实在太爽了这个,V_SoftCategoryAndSoftInfo 是我的视图.,因为泄及几个表,所以只好建立这个视图了,如果你的语句比较简单,就直接写表名就行了.\\\



就这样,完成了,简单不,测试时,完成了500万条记录测试,速度超前,可以使用在静态页,.或动态页的分页,如果大家以前有看过我写的VS2005智能化生成静态页的,那么大家会觉得很熟识.没错,分页也是这个控件,爽不...

目前功能只做了:记录数,.当前页数,首页,上一页,下一页,未页,和一个下拉框的导航,至于数字导航的,近期推出,密切留意.


测试环境是在VS2005+SQL2005下通过的,如果你也想用这个组件的,你可以用SQL2000也可以,但我没试过.不妨试一下吧,多点研究还是好的.


OK:演讲完毕,该精品由NET博览群,独家制作和发布,发布和制作人:ng



62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧