将参数传递给AJAX模态弹出窗口?

问题描述 投票:0回答:1

[因此,经过一些摸索,我在AJAX弹出窗口中运行了一个aspx页面(使用iframe)。但是,此aspx页接受几个参数。该程序用于打开JavaScript弹出窗口以发送参数,如下所示:

string DeptID = ((User)Session ["User"]).UserDepartmentID.ToString();
string url = "EditTables.aspx?title=Edit Asset Manufacturers&prompt=Manufacturer Name&method=GetManufacturers&name=ManufacturerName&value=ManufacturerID&deptid=" + DeptID;
string script = "window.open ('" + url + "', 'popup_window', 'width=500, height=135, left=' + ((screen.width - 530) / 2) + ', top=' + ((screen.height - 80) / 2));";
ClientScript.RegisterStartupScript (this.GetType(), "script", script, true);

但是,由于我要转换为AJAX弹出窗口,因此当前代码如下:

<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Test Button" />
   <ajax:ModalPopupExtender  
      ID="mp1Manufacturer" 
      PopupControlID="Panl1"
      runat="server" 
      BehaviorID="Button1_DropDownExtender" 
      DynamicServicePath="" 
      TargetControlID="Button1">
   </ajax:ModalPopupExtender>

<asp:Panel ID="Panl1" runat="server" CssClass="Popup" align="center" style = "display:none">  
   <iframe style=" width: 500px; height: 500px;" id="irm1" src="EditTables.aspx?title=Edit Asset Manufacturers&prompt=TEST&method=GetManufacturers&name=ManufacturerName&value=ManufacturerID&deptid=c9c1f7ff-65bc-4687-90bb-39488db508b4" runat="server"></iframe> 
<br/>  
<asp:Button ID="Button2" runat="server" Text="Close" />  
</asp:Panel> 

注意src页面的硬编码值。这对于页面的可重用性不可行。有没有办法从服务器端调用此AJAX弹出窗口,并通过我在页面后面的代码提供参数?

c# ajax code-behind
1个回答
0
投票

从您的代码

<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Test Button" />
   <ajax:ModalPopupExtender  
      ID="mp1Manufacturer" 
      PopupControlID="Panl1"
      runat="server" 
      BehaviorID="Button1_DropDownExtender" 
      DynamicServicePath="" 
      TargetControlID="Button1">
   </ajax:ModalPopupExtender>

<asp:Panel ID="Panl1" runat="server" CssClass="Popup" align="center" style = "display:none">  
   <%-- using the scripting tag below, you use the IFrameSrc property on your code behind behind to render the correct URL. --%>
   <iframe style=" width: 500px; height: 500px;" id="irm1" src="<%=this.IFrameSrc%>"></iframe> 
<br/>  
<asp:Button ID="Button2" runat="server" Text="Close" />  
</asp:Panel>

然后在后面的代码中。

public String IFrameSrc
{
  get
  {
    //Here you get a chance to manipulate the string in the code behind however you see fit.
    return "EditTables.aspx?title=Edit Asset Manufacturers&prompt=TEST&method=GetManufacturers&name=ManufacturerName&value=ManufacturerID&deptid=c9c1f7ff-65bc-4687-90bb-39488db508b4";
  }
}

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.