FineUI 官方论坛
标题:
FileUpload不响应TextChanged临时解决方案。
[打印本页]
作者:
辉月
时间:
2012-10-19 20:16
标题:
FileUpload不响应TextChanged临时解决方案。
原因:FileUpload绑定的change事件不会执行到,而应绑定fileselected事件。
解决方案:
修改 FileUpload.cs
(红色为添加的代码)
protected override void OnFirstPreRender()
{
base.OnFirstPreRender();
AddStartupAbsoluteScript("X.form_upload_file=true;");
if (!String.IsNullOrEmpty(ButtonText))
{
OB.AddProperty("buttonText", ButtonText);
}
if (ButtonOnly)
{
OB.AddProperty("buttonOnly", true);
}
if (AutoPostBack)
{
OB.Listeners.AddProperty("fileselected", JsHelper.GetFunction(GetPostBackEventReference()), true);
}
string resolvedIconUrl = IconHelper.GetResolvedIconUrl(ButtonIcon, ButtonIconUrl);
if (!String.IsNullOrEmpty(resolvedIconUrl))
{
OptionBuilder buttonOB = new OptionBuilder();
buttonOB.AddProperty("cls", " x-btn-text-icon");
buttonOB.AddProperty("icon", resolvedIconUrl);
OB.AddProperty("buttonCfg", buttonOB);
}
//if (TextMode != TextMode.Text)
//{
// OB.AddProperty("inputType", TextModeHelper.GetName(TextMode));
//}
string jsContent = String.Format("var {0}=new Ext.ux.form.FileUploadField({1});", XID, OB.ToString());
AddStartupScript(jsContent);
}
#region IPostBackDataHandler Members
/// <summary>
/// 处理回发数据
/// </summary>
/// <param name="postDataKey">回发数据键</param>
/// <param name="postCollection">回发数据集</param>
/// <returns>回发数据是否改变</returns>
public override bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection)
{
if (Enabled)
{
return true;
}
return false;
}
/// <summary>
/// 触发回发数据改变事件
/// </summary>
public override void RaisePostDataChangedEvent()
{
OnTextChanged(EventArgs.Empty);
}
#endregion
作者:
Jyin
时间:
2012-11-9 07:02
同学 有点没看明白 能解释一下吗 protected override void OnFirstPreRender()重新这个为哪办
作者:
Jyin
时间:
2012-11-9 07:06
能解释一下吗
作者:
sanshi
时间:
2012-11-25 12:03
多谢,FineUI v3.2.1会按照这个思路增加 FileSelected 事件。
-为FileUpload控件增加OnFileSelected事件(启用AutoPostBack时有效)(辉月)。
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4