留言簿

我要留言
留言搜索

2011-05-02 15:50  p_hello

杨老师 ,您好!我碰到到一个问题啊,(mvc 3.0)如订单头  订单体 这两个表,在一个页面上面,客户先填写订单头信息,然后再填写订单体信息,订单体信息是table 列表形式的,每一行都是一个订单产品的记录,页面上有按钮,可以增加一行,删除一行 。
我的做法是,先填写订单头信息,然后保存后,把订单头的id号,返回来,再出现订单明细的表格,然后填写订单明细,再保存相应订单下的订单明细。
我这全部用jquery+html来写觉得很麻烦烦。(用jqgrid不是很会用)您有没有好的方法啊!
回复:我做过一个类似的项目,用的是jQuery Ajax,您说的订单头和订单体其实就是一对多关系的两个实体,用Entity Framework的话只需要添加一次,在表单提交后,只要设置好两个实体的父子关系,提交后EF就会自动将对应的父子实体对象插入数据库。我不知道您用的是什么数据访问方法,如果不是EF,可能就得用您现在的方法。谢谢!

2011-04-29 16:56  Rex He

杨老师 你好!
我想问下去除HTML中的版权,要如何收费?
回复:这个针对企业用户,您可以看看这个:http://item.taobao.com/item.htm?id=9921871927,谢谢支持!

2011-04-29 16:35  Mr_Xu

杨大哥你好,谢谢你回答我的问题,通过ViewData,我是可以在一个页面上显示两个表了,但是只要有一个表翻转,另一个表也会翻转了,怎么办?
      而且我发现一个错误的地方,使用jQuery Ajax进行分页,分页<div>--要分页的TABLE--</div>以外的元素,在进行翻转时,会突然产生两个一样的元素,请杨大哥检查一下
回复:您好,一个页面上有两个或更多MvcPager的话,必须为每个MvcPager设置不同的PageIndexParameterName,最新的示例项目中有这样的例子,请下载参考一下。至于第二个问题,那是您Ajax返回的html结果不对,一般推荐将分页的数据单独放在PartialView中,Ajax分页后只返回此PartialView,这个问题需要您自己注意,MvcPager是没有办法处理的,请看一下示例中Ajax分页是如何实现的。

2011-04-28 15:40  UrlPager

UrlPager路由要是有多个页面。应该怎么办、一个一个写???
回复:您好,我不太理解您的意思,您说的“路由有多少页面”是指很多页面共享同一个路由吗?路由本来就是这样的,不知道您要写什么?

2011-04-28 15:06  Mr_Xu

杨大哥你好,我正在使用你的MVCpager控件,很好用,但是我发现了一个问题,使用MVCpager,好像必须使用强类型视图,比如说Inherits="System.Web.Mvc.ViewPage<PagedList<Order>>",但是这样的话,如果我在一个视图中要显示多个数据表的话怎么办?一个视图只能有一个强类型吧?
回复:您好,有很多新手常会有这样的问题,其实从Controller向View传递数据,并非只有一个Model,还可以用ViewData,其实一个Model对象就完全够用了,无论传递多少数据,都可以把这些数据封装到自定义类中进行传递,不同类型的数据就是这个自定义类的一个属性,这样说您懂了吗?

2011-04-27 17:56  灵点

  void bindData()
    {
        cardmanages.Show_id = Request.QueryString["show_id"].ToString();
        PagedDataSource pds = new PagedDataSource();
        pds.AllowPaging = true;
        pds.PageSize = AspNetPager1.PageSize;

        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
        DataView dv = cardmanages.Getrevert(cardmanages, "bbs_revert").Tables[0].DefaultView;
 
        pds.DataSource = dv;
        DataList2.DataSource = pds;
        AspNetPager1.RecordCount = pds.DataSourceCount;
       

        DataList2.DataBind();
        
      
    }

    protected void AspNetPager1_PageChanged(object src, EventArgs e)
    {
        bindData();
    }

杨老师我又来问问题了,我后台是这样分页的,一切正常,我在前台加上<%# Container.ItemIndex+1 %>这个后,想实现论坛楼层编号,就是1楼,2楼等这样的效果,但点击第二页后,依然和第一页楼层编号一样,请教杨老师如何写楼层编号的代码。
回复:这是肯定的了,Container.ItemIndex是从当前页的数据开始计算的,所以不管多少页都是一样的,要实现您说的功能,需要给Container.ItemIndex加上“(aspNetPager.CurrentPageIndex-1)*aspNetPager.PageSize”才行。

2011-04-27 15:58  小龙

杨老师,非常感谢您为大家提供一个便捷好用的分页控件。我看到例子里有通过Url来改变每页数据行的示例,不知道您能不能把“每页数据行数”也作为控件属性,然后跟页号、跳转页等放在一行里呢?
回复:您好,那个功能很早以前尝试过,但不好实现,所以最后放弃了。谢谢!

2011-04-26 16:27  天之子

可能我没有表达清楚。这样,jQuery AJAX翻页,第一页时候,用IE查看源文件,HTML显示结果为A,翻到第二页时,再查看源文件,结果还是A。如果IE 8 / 9 自带的F12开发人员工具,查看HTML内容,已经是第二页的数据了,只是前台浏览器没有更新源文件为第二页的数据。
回复:Ajax本来就这样,不太清楚您要实现什么?如果您要实现翻页到第二页时,查看浏览器的html源代码能显示第二页的html源代码,那就不能用Ajax,您需要好好了解一下Ajax的工作原理。

2011-04-26 10:44  小攀

杨老师,2011/4/23 15:29:28  的问题。
ShowPageIndexBox = “Never”,这种情况不是我要的。
我想分页显示"go".
所以改成
ShowPageIndexBox = “Always”,但是还是报那个错(缺少对象)。
我加了这个属性 AlwaysShow="true",也还是不行
杨老师,如何解决
帮我看看,非常感谢
回复:您用哪个版本的AspNetPager呢?设置ShowPageIndexBox为Always后,生成的html源代码中还没有相应的脚本吗?

2011-04-26 10:11  毛盾

杨老师,不好意思,又来请教了。上次我没有描述清楚,我想说的是页码作为表单内容post过去,同时把表单内容传递过去;现在我这里有一个大的查询表单,这个表单原本是想用post传递的,但是分页用的是get,然后表单的内容就没有传递过去,过去的就是一个页码,所以我就要一个能以post方式传递过去的分页。
回复:您好,MvcPager支持用Ajax的Post方法来实现分页,不过这样需要手动将表单中的项通过Ajax传递到服务器端,如果您对jQuery Ajax比较熟悉,那么对照MvcPager的AjaxPager方法应该可以实现post分页。我有空会做个这样的例子。谢谢!
;