人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

將模式對話框的返回值回送(PostBack)到服務端

將模式對話框的返回值回送(PostBack)到服務端

更新時間:2022-06-26 文章作者:未知 信息來源:網絡 閱讀次數:

在一些應用中,希望將模式對話框的值回送(PostBack)到服務端,也就是執行一個服務端操作,從而刷新頁面。

舉個例子:比方說新建一個訂單,此時希望能在模式對話框中選擇產品,并將產品的ID返回,同時刷新訂單中的產品項,解決的方法有多種,這里只介紹執行服務器操作的方法。

要將客戶端數據回送(PostBack)到服務端并執行相應操作,顯然必須提交form并設置隱藏域__EVENTTARGET的值,好在asp.net已為我們完成了這些,只要以合適的參數調用__doPostBack就可以了。

另一個問題是如何把模式對話框的值也傳過服務端,這個就好說了,有多種方法,在這里用一個隱藏域來保存值,當然這個隱藏域必須加上runat="server"屬性。

下面給出部分代碼:

主頁面TestDialog.aspx:


<form id="form1" runat="server">
<input type="hidden" id="txtValue" runat="server"/>
<br/>
<asp:LinkButton id="lbtnOpen" runat="server" text="打開對話框"/>
<br/>
對話框返回值:<asp:TextBox id="txtValue2" runat="server"/>
</form>

主頁面后置文件TestDiallg.aspx.cs:

private void Page_Load( object Sender, EventArgs e ) {
StringBuilder sb = new StringBuilder();

if ( ! IsClientScriptBlockRegistered( "clientScript" ) ) {
sb.Append( "<script language='javascript'>\n" )
.Append( " function addproduct() { \n" )
.Append( " var ret = window.showModalDialog( 'test2.aspx' ); \n" )
.Append( " if ( ret != undefined ) { \n" )
.Append( " document.getElementById('" + txtValue.ClientID + "').value = ret \n" )
.Append( " __doPastBack('" + lbtnOpen.UniqueID + "', '');\n" )
.Append( " } \n" )
.Append( " }\n " )
.Append( "</script>\n" );

RegisterClientScriptBlock( "clientScript", sb.ToString() );
}

lbtnOpen.Attributes.Add( "onClick", "javascript:addproduct();" );
}

private void lbtnOpen_Click( object Sender, EventArgs e ) {
txtValue2.Text = txtValue.Value;
}

private void InitializeComponent()
{
this.Load += new EventHandler( this.Page_Load );
this.lbtnOpen.Click += new EventHandler( this.lbtnOpen_Click );
}

對話框頁面test2.aspx:

<form id="form1" runat="server">
<asp:TextBox id="txtValue" runat="server"/>
<br/>
<input type="button" id="hlnkOk" value="確定" runat="server"/>
</form>

對話框頁面后置文件Test2.aspx.cs

private void Page_Load( object Sender, EventArgs e ) {
StringBuilder sb = new StringBuilder();

if ( ! IsClientScriptBlockRegistered( "clientScript" ) ) {
sb.Append( "<script language='javascript'>\n" )
.Append( " function closedialog() { \n" )
.Append( " window.returnValue = document.getElementById('" + txtValue.ClientID + "').value;\n" )
.Append( " window.close();\n" )
.Append( " }\n " )
.Append( "</script>\n" );

RegisterClientScriptBlock( "clientScript", sb.ToString() );
}
hlnkOk.Attributes.Add( "onClick", "javascript:closedialog();" );
}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 临沧市| 青冈县| 青川县| 凤庆县| 芒康县| 西藏| 南阳市| 十堰市| 英山县| 镇平县| 凉山| 阿图什市| 手游| 静宁县| 美姑县| 郑州市| 阳城县| 刚察县| 台南县| 剑河县| 老河口市| 绥滨县| 陆川县| 内丘县| 黄冈市| 皮山县| 涞源县| 丹江口市| 惠州市| 刚察县| 双牌县| 佛坪县| 科尔| 共和县| 北碚区| 平顶山市| 富顺县| 松原市| 扎兰屯市| 朔州市| 措美县|