在条件下从代码加载html页面

时间:2014-11-05 10:12:33

标签: javascript c# html asp.net

可以通过asp.net后面的代码加载一个html页面吗?

我现在在test.aspx中使用此方法使用javascript

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

1 个答案:

答案 0 :(得分:0)

您可以使用ascx用户控件代替div。然后在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方法在后面的代码中执行tj 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>");
        }
    }
}