功能需求:有A B 两个页面,A 为父页面,B 为弹出页面。1)A 页面上有DG ,第一次 进入的时候 DG 中的没有值。
2)点击A 页面上的一个按钮弹出B 页面,在B中进行相应的操作之后 B 关闭,并同时刷新A 页面,
使得DG 中有值。3)当A 中的DG 有值后,进行编辑 的时候,发现如果没有在 ispostback 下绑定DG 的话,编辑状态 之 下是得不到 更改后TExtbox 中的值。
http://community.csdn.net/Expert/topic/4813/4813033.xml?temp=.933758
2)点击A 页面上的一个按钮弹出B 页面,在B中进行相应的操作之后 B 关闭,并同时刷新A 页面,
使得DG 中有值。3)当A 中的DG 有值后,进行编辑 的时候,发现如果没有在 ispostback 下绑定DG 的话,编辑状态 之 下是得不到 更改后TExtbox 中的值。
http://community.csdn.net/Expert/topic/4813/4813033.xml?temp=.933758
解决方案 »
- 安装 discuz nt 时出现的问题~~
- SilverLight应用程序中的Generated_Code文件夹,以及里面的***.web.g.cs文件是怎么生成的?
- vb 连接数据库 问题
- 路过的大侠们,求解一个sql语句
- sharepoint 2010 单点登录 问题!
- 插入脚本的问题?下班截帖
- 在ASP.net中(用C#) 运行到这一行时Excel.Application myexcel = new Excel.Application();出现拒绝访问错误。
- C#转word的编码问题急!!!
- 关于NameSpace问题!
- 我有一台服务器(独立IP),但服务器上没有.net framwork,问:怎样将自己的机子做成web服务器?(同一LAN)解决有可能送space!
- 上传文件删除问题
- 13407078 ajax.net学习群,欢迎朋友加入
我在A中:
private void Page_Load(object sender, System.EventArgs e)
{
#region 弹出页面返回值、刷新主页面
if ( Request.QueryString["Flag"] != null)
{
Txt_PO_NO.Text =Request.QueryString["PO"].ToString();
DG_Bind(); // 绑定DG 方法
}
#endregion
#region 第一次加载页面初始化
if (!IsPostBack)
{
if (Txt_PO_NO.Text.Length==0)
{
Txt_PO_NO.Text =System.DateTime.Now.ToString("yyyyMMddhhmmss");
}
}
#endregion
}
private void IBT_Close_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string Str_Url="";
Str_Url="window.opener.location='/CRM" + formid.Text + ".aspx?Flag=false" + "&PO=" + this.Txt_PO_NO.Text + "&PODate=" + Txt_Date.Text + "'" ;
Response.Write("<script language='JavaScript'>"+"\n");
Response.Write(Str_Url +"\n");
Response.Write("window.close()");
Response.Write("</script>"+"\n");
}
取不到更改之后 textbox 的值,
我也知道原因是没有放入到 !ispostback 中所,引起的,
如果要实现以上的3个功能,如何实现比较好》》》》》》》》现在这个问题已经困扰我好几天了。如何解决??
----------------------------------------
页面A - 前台
-----------------------------------<HTML>
<HEAD>
<title>InStockOrderDetail</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="javascript">
// 选择供应商对话框
function SelectProvider()
{
var ReturnValue = window.showModalDialog("SelectProvider.aspx",null,'status=0;DialogWidth=420px;DialogHeight=400px;scroll=0');
if(ReturnValue == null || ReturnValue == undefined)
{
return false;
}
else
{
window.Form1.hideProviderCode.value = ReturnValue[0];
window.document.getElementById("ProviderName").innerText = ReturnValue[1];
window.Form1.hideProviderID.value = ReturnValue[2];
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server"><INPUT id="hideProviderCode" type="hidden" runat="server"> <INPUT id="hideProviderID" type="hidden" runat="server">
<asp:TextBox id="ProviderName" runat="server" Width="150" ForeColor="DimGray" ReadOnly="True"></asp:TextBox>
<asp:button id="Btn_SelectProvider" runat=server text="选择"> ......
<asp:datagrid id="dg" runat=server ....>
......</form>
</body>
</html>----------------------------------
页面A - 后台
----------------------------------
protected void Page_Load(object sender, System.EventArgs e)
{
this.Btn_SelectProvider.Attributes.Add("onclick","javascript:return SelectProvider();");
}protected void Btn_SelectProvider_Click(object sender, System.EventArgs e)
{
if(this.hideProviderCode.Value != string.Empty)
{
DataTable TempTable = GetNewData(this.hideProviderCode.Value);
this.dg.DataSource = TempTable;
this.dg.DataBind();
// this.ViewState["Table"] = TempTable;
}
}
-----------------------------------------------
B页面 - 后台(SelectProvider.aspx.cs)
-----------------------------------------------protected void Cancel_Click(object sender, System.EventArgs e)
{
this.Response.Write("<script language=\"javascript\">window.close();returnvalue=null;</script>");
} protected void ok_Click(object sender, System.EventArgs e)
{
if(this.dgProviderList.SelectedIndex == -1)
{
this.Response.Write("<script language=\"javascript\">window.close();returnvalue=null;</script>");
}
else
{
Response.Write("<script language=javascript>arrayObj = new Array(2);arrayObj[0]='"+
this.dgProviderList.SelectedItem.Cells[2].Text.Trim() +"';arrayObj[1]='"+
this.dgProviderList.SelectedItem.Cells[3].Text.Trim() +"';arrayObj[2]='"+
this.dgProviderList.SelectedItem.Cells[1].Text.Trim() +
"';window.close();returnValue=arrayObj;</script>");
}
}
一个是客户端的[javascript],
另一个是服务器端的... 客户端负责返回值,并根据返回结果判断是否提交到服务端处理.
注意这句: javascript:return SelectProvider();如果客户端通过判断将提交窗体,即执行服务端的Click事件.
注意这句: protected void Btn_SelectProvider_Click(object sender, System.EventArgs e)...... 我想这样处理应该是理想的方法 ...