问题:关于使用window的IFrameUrl嵌套窗体,单步执行代码时,每行代码都执行2遍。
部分代码
1、gridview中绑定行
this.EG_Data.Columns.Add(SetLinkButtonFieldItem(false, "DF_VIEWUSER", "查看组用户", false, string.Empty, "ViewUserList", "用户组", 0, true));
2、setLinkButtonFieldItem方法如下(就是新建一行)
/// <summary>
/// 构造LinkButtonFieldItem(无确认提示) 显示固定值
/// </summary>
/// <param name="Hidden">是否隐藏</param>
/// <param name="Id">列ID</param>
/// <param name="Text">数据字段</param>
/// <param name="HasToolTip">是否显示提示</param>
/// <param name="DataTooltipField">提示字段</param>
/// <param name="CommandName">命令</param>
/// <param name="HeaderText">列标题</param>
/// <param name="PixelWidth">列宽</param>
/// <returns></returns>
protected LinkButtonField SetLinkButtonFieldItem(bool Hidden, string Id, string Text, bool HasToolTip, string DataTooltipField, string CommandName, string HeaderText, int PixelWidth,bool EnableValue)
{
LinkButtonField NewItem = new LinkButtonField();
NewItem.Enabled = EnableValue;
NewItem.Hidden = Hidden;
NewItem.ColumnID = Id;
NewItem.Text = Text;
if (HasToolTip)
{
NewItem.DataToolTipField = DataTooltipField;
}
NewItem.HeaderText = HeaderText;
NewItem.CommandName = CommandName;
if (PixelWidth != 0)
{
NewItem.Width = System.Web.UI.WebControls.Unit.Pixel(PixelWidth);
}
return NewItem;
}
3、行绑定事件
protected override void GRID_RowCommand(object sender, GridCommandEventArgs e)
{
string id = ((ExtAspNet.Grid)sender).Rows[e.RowIndex].DataKeys[0].ToString();
string rolename = ((ExtAspNet.Grid)sender).Rows[e.RowIndex].DataKeys[1].ToString();
// ExtAspNet.LinkButtonField lb = this.EG_Data.FindControl(id);
switch (e.CommandName)
{
case "ViewUserList":
this.W_Command.IFrameUrl = "ManageRole/ManageRoleUser.aspx?MCODE=" + MODULECODE + "&&ROLEID=" + id;
this.W_Command.Title ="["+rolename+"]角色管理";
this.W_Command.Hidden = false;
break;
}
}
上面用到的window(W_Command)的IframeUrl,嵌套打开另一个(ManageRoleUser.aspx)页面,则单步调试ManageRoleUser.aspx页面时,从onload方法开始(按F10),每行代码都执行2遍。
我换了示例中的 windowfield,不用LinkButtonField,就不会有代码执行2遍的问题
<ext:WindowField Width="60px" WindowID="Window1" Icon="TableEdit" ToolTip="编辑" DataIFrameUrlFields="Id,Name"
DataIFrameUrlFormatString="../grid/grid_iframe_window.aspx?id={0}&name={1}" Title="编辑"
IFrameUrl="~/alert.aspx" />
问:现在是因为extaspnet框架中,IframeUrl这个还有bug吗?
|