FineUI 官方论坛

标题: 初期使用 <f:Button />发现onclick事件无法完成页面回发 [打印本页]

作者: Tonyv6    时间: 2016-11-27 14:44
标题: 初期使用 <f:Button />发现onclick事件无法完成页面回发
在onclick事件中使用了AspnetPager的翻页函数,使用FineUI.alert弹出改变的viewstate值都出来了,就是不能在label中呈现出来。

后来自己做了个试验,在一个空白web页中,使用一个.net自带的按钮控件,一个FineUI按钮,后台代码如下:
  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if(IsPostBack)
  4.             {
  5.                 tip.Text = "回发!!";
  6.             }
  7.         }

  8.        //FineUI按钮
  9.         protected void btnSea_Click(object sender, EventArgs e)
  10.         {
  11.             tips.InnerText = "千里之外";

  12.             tip.Text = "千里之外 我送你离开";

  13.             
  14.         }

  15.        //ASP.NET按钮
  16.         protected void btnSearch_Click(object sender, EventArgs e)
  17.         {
  18.             tips.InnerText = "千里之外!";

  19.             tip.Text = "千里之外~我送你离开";
  20.         }
复制代码


发现FineUI控件的按钮点击后不执行赋值操作,也不回发。找了一些示例也没发现哪里有问题,

如果我的前后台代码有错误还请指正。
作者: Tonyv6    时间: 2016-11-27 14:46
  1. <div>
  2.             当前搜索:
  3.             <label id="tips" runat="server"></label>
  4.             <br />
  5.             <asp:Label runat="server" ID="tip"></asp:Label>
  6.             <f:PageManager runat="server" />

  7.             <f:Button runat="server" ID="btnSea" Text="搜索" OnClick="btnSea_Click" EnablePostBack="true" />

  8.             <asp:Button runat="server" ID="btnSearch" Text="查询" OnClick="btnSearch_Click" />
  9.         </div>
复制代码
前台代码,不知道是哪里配置不对?

作者: zy32002    时间: 2016-11-27 15:36
asp控件不能ajax回发的,f控件可以。if(! IsPostBack),明白了??
作者: Tonyv6    时间: 2016-11-27 16:33
zy32002 发表于 2016-11-27 15:36
asp控件不能ajax回发的,f控件可以。if(! IsPostBack),明白了??

ajax回发,

在Page Load事件里用if(IsPostBack)不就是判断回发吗?我是想判断回发后的值状态,不是非回发。

换一种方式,如果fine控件使用ajax回发,我后台代码怎么写才能让label.text得到赋值?
作者: zy32002    时间: 2016-11-27 16:48
我不知道你是否真的懂回发
if(IsPostBack)
            {
                tip.Text = "回发!!";
            }
tip 值永远都是"回发!!"。 无论你怎么改写他的text。
作者: Tonyv6    时间: 2016-11-27 17:01
zy32002 发表于 2016-11-27 16:48
我不知道你是否真的懂回发
if(IsPostBack)
            {
  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if(IsPostBack)
  4.             {
  5.                 tip.Text = "回发!!";
  6.             }
  7.         }

  8.        //FineUI按钮
  9.         protected void btnSea_Click(object sender, EventArgs e)
  10.         {
  11.             tips.InnerText = "千里之外";

  12.             tip.Text = "千里之外 我送你离开";

  13.             
  14.         }

  15.        //ASP.NET按钮
  16.         protected void btnSearch_Click(object sender, EventArgs e)
  17.         {
  18.             tips.InnerText = "千里之外!";

  19.             tip.Text = "千里之外~我送你离开";
  20.         }
复制代码


你不看我整个Page Load的代码,看完按钮事件代码再妄自猜测谁人不懂回发。

主题楼里说的很明确,一个按钮是asp按钮,一个按钮是Fine的。两个按钮点击后的结果就是不一样。


tip的值先在按钮事件里改变过了。问题是我点F按钮的时候就从没看到过tip的值变成“回发”。
作者: Tonyv6    时间: 2016-11-27 17:03
有谁知道fine按钮如何进行ajax回发的吗?或者关闭ajax回发后,应该怎么调整代码?
作者: zy32002    时间: 2016-11-27 17:18
本帖最后由 zy32002 于 2016-11-27 19:06 编辑

fineui默认就是ajax回发,只要是ajax属性就可以直接实现ajax效果。label.text就是ajax属性。

从代码上看基本没什么问题,我不清楚你的环境是否有什么问题,或者是你的fineui版本有问题,有或者你没加载pagemanager控件。冰山一角什么问题都看不到。
作者: Tonyv6    时间: 2016-11-28 09:37
zy32002 发表于 2016-11-27 17:18
fineui默认就是ajax回发,只要是ajax属性就可以直接实现ajax效果。label.text就是ajax属性。

从代码上看基 ...

FineUI V6.01 for Fx4.0
extjs 目录在项目根目录里
也下载更新了json库
用的VS2015,
web.config里配置有:
  1. <system.web>
  2.     <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
  3.       <controls>
  4.         <add assembly="FineUI" namespace="FineUI" tagPrefix="f" />
  5.         <add tagPrefix="webdiyer" namespace="Wuqi.Webdiyer" assembly="AspNetPager" />
  6.       </controls>
  7.       
  8.          
  9.       
  10.     </pages>
  11.    
  12.     <httpRuntime maxRequestLength="102400 " />
  13.     <customErrors mode="Off" />
  14.     <compilation debug="true" targetFramework="4.0" />
  15.   </system.web>
复制代码


启用了IIS集成管道模式。

我想关闭ajax回发,在配置里也修改过,
  1. <FineUI DebugMode="true" EnableAjax="false"/>
复制代码


这样写对了吗?与之前一样没有收效。

作者: zy32002    时间: 2016-11-28 09:49
如果项目能运行起来 能看到控件,基本上配置好了。如果页面有js报错,可能是ext库没加载或者ext库版本不对。

你项目点击button没效果,是否是有js错误?? 浏览器F12 查一下
作者: Tonyv6    时间: 2016-11-28 10:10
本帖最后由 Tonyv6 于 2016-11-28 10:20 编辑
zy32002 发表于 2016-11-28 09:49
如果项目能运行起来 能看到控件,基本上配置好了。如果页面有js报错,可能是ext库没加载或者ext库版本不对 ...

extjs_for_fineui_v6.0.1
extjs估计没问题,都是成套配置的。
我现在用的IE9,或是IE9不支持VS2015的问题?
作者: zy32002    时间: 2016-11-28 21:05
如果是ie9的问题,应该会有js报错。你试试其他的浏览器试试,这样能测出什么问题。
要不你上传你的完整代码,这样也好解决。




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4