FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 11749|回复: 11
打印 上一主题 下一主题

初期使用 <f:Button />发现onclick事件无法完成页面回发

[复制链接]
跳转到指定楼层
楼主
发表于 2016-11-27 14:44:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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控件的按钮点击后不执行赋值操作,也不回发。找了一些示例也没发现哪里有问题,

如果我的前后台代码有错误还请指正。
沙发
 楼主| 发表于 2016-11-27 14:46:24 | 只看该作者
  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>
复制代码
前台代码,不知道是哪里配置不对?
板凳
发表于 2016-11-27 15:36:40 | 只看该作者
asp控件不能ajax回发的,f控件可以。if(! IsPostBack),明白了??
地板
 楼主| 发表于 2016-11-27 16:33:07 | 只看该作者
zy32002 发表于 2016-11-27 15:36
asp控件不能ajax回发的,f控件可以。if(! IsPostBack),明白了??

ajax回发,

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

换一种方式,如果fine控件使用ajax回发,我后台代码怎么写才能让label.text得到赋值?
5#
发表于 2016-11-27 16:48:44 | 只看该作者
我不知道你是否真的懂回发
if(IsPostBack)
            {
                tip.Text = "回发!!";
            }
tip 值永远都是"回发!!"。 无论你怎么改写他的text。
6#
 楼主| 发表于 2016-11-27 17:01:45 | 只看该作者
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的值变成“回发”。
7#
 楼主| 发表于 2016-11-27 17:03:40 | 只看该作者
有谁知道fine按钮如何进行ajax回发的吗?或者关闭ajax回发后,应该怎么调整代码?
8#
发表于 2016-11-27 17:18:23 | 只看该作者
本帖最后由 zy32002 于 2016-11-27 19:06 编辑

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

从代码上看基本没什么问题,我不清楚你的环境是否有什么问题,或者是你的fineui版本有问题,有或者你没加载pagemanager控件。冰山一角什么问题都看不到。
9#
 楼主| 发表于 2016-11-28 09:37:05 | 只看该作者
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"/>
复制代码


这样写对了吗?与之前一样没有收效。
10#
发表于 2016-11-28 09:49:21 | 只看该作者
如果项目能运行起来 能看到控件,基本上配置好了。如果页面有js报错,可能是ext库没加载或者ext库版本不对。

你项目点击button没效果,是否是有js错误?? 浏览器F12 查一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-24 03:52 , Processed in 0.047151 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表