2014-11-05 58 views
0

是否有可能通過asp.net後面的代碼加載HTML條件的條件?從條件加載HTML頁面的條件

我現在用的這個方法使用JavaScript在我Test.aspx的

<script type="text/javascript"> 
$(document).ready(function() { 
$('#<%= webform.ClientID %>').load('exemple.html'); }) 
</script> 

<div id="webform" runat="Server" visible="false"> 
</div> 

,並在後面的代碼:

if (Request.Url.ToString().Contains("https://www.exemple.com/test.aspx?action=webform_RIGHT")) 
webform.Visible = true; 
+0

你爲什麼不嘗試的iframe,而不是單嗎?你可以通過asp.net代碼behinde隱藏和顯示iframe ..通過設置iframe runat = server – 2014-11-05 10:25:15

+0

,因爲我要加載的是一個「彈出窗體」,所以圖層將被加載到頁面的前面。 iframe的解決方案是什麼?我遇到的問題是我想要JavaScript代碼behid。 – gigi 2014-11-05 10:27:22

回答

0

一個div相反,你可以使用ASCX用戶控件。然後,在aspx頁面的頁面加載中,您可以通過設置其Visible屬性來檢查所需的條件並顯示或不顯示ascx控件。

WebForm1.aspx的:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> 
<%@ Register Src="~/WebUserControl1.ascx" TagPrefix="prefix" TagName="Ctrl" %> 
<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     UC: 
     <prefix:Ctrl ID="ctrlTest" runat="server" /> 
    </div> 
    </form> 
</body> 
</html> 

WebForm1.aspx.cs中:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication1 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (something) 
      { 
       ctrlTest.Visible = true; 
      } 
      else 
      { 
       ctrlTest.Visible = false; 
      } 
     } 
    } 
} 

WebUserControl1.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %> 
User control inside 

如果你想在一個div一個彈出窗口,你可以執行通過調用RegisterStartupScript方法在代碼背後調用JavaScript。然後你可以用C#代碼檢查你的條件,如果他們沒問題,你可以調用腳本。

WebForm1.aspx.cs中:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication1 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      RegisterStartupScript("test", "<script>alert('test');</script>"); 
     } 
    } 
} 
+0

我目前在aspx頁面中使用DIV,並且在頁面加載方法中使用後面代碼中的可見性。所以你建議使用你所說的:用c#代碼中的「ascx用戶控件」來代替?然後,我明白,因爲你建議我可以把我的JavaScript在代碼後面使用RegisterStartupScript方法,但我不明白當你說:「檢查你的條件在C#代碼」。我唯一的條件是我在後面的代碼中提到的那個,我如何在c#代碼中使用它?謝謝 – gigi 2014-11-05 10:49:29

+0

請看看最新的答案。 – Landeeyo 2014-11-05 13:05:32