Передача параметров в модальное всплывающее окно AJAX? - PullRequest
0 голосов
/ 04 мая 2020

Так что после некоторой возни у меня есть страница aspx, работающая во всплывающем окне AJAX (с использованием 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> 

Обратите внимание на жестко заданные значения для страницы sr c. Это не работает для повторного использования страницы. Есть ли способ вызвать это AJAX всплывающее окно со стороны сервера и предоставить параметры через мой код позади страницы?

1 Ответ

0 голосов
/ 04 мая 2020

Из вашего кода

<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";
  }
}

Надеюсь, это поможет.

...