可以通过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;
答案 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>");
}
}
}