在条件下从C#代码调用HTML页面

时间:2014-08-28 17:54:50

标签: c# html asp.net cookies

我有一个用c#编写的页面和一个用HTML编写的webform。

我的目标是每次只在客户端浏览器上已经设置了cookie时加载default.aspx页面时才显示此html webform。我将通过php从webform设置/编写cookie,所以我假设c#代码只需要:

  1. 如果没有设置,请阅读COOKIE值,
  2. 根据值cookie集的可视化或不是html webform。
  3. 不确定是否必须在代码中使用c#或仅使用javascript进行此操作。

    那么,C#中是否有任何代码允许我调用HTML页面并在与webform / pop-up相同的页面中打开它? 另外,只有在设置了cookie的情况下才能以我可以调用它的方式触发这个html页面吗?

    public partial class Read : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["cookie"] != null)
        {
            ReadCookie();
        }
    }
    
    protected void ReadCookie()
    {
        //Get the cookie name the user entered
        String strCookieName = Request.QueryString["cookie"].ToString();
    
        //Grab the cookie
        HttpCookie cookie = Request.Cookies[strCookieName];
    
        //Check to make sure the cookie exists
        if (cookie == null)
        {
            lblCookie.Text = "Cookie not found. <br><hr>";   -> SHOW HTML-WEBFORM 
        }
        else
        {
    
    -> DONT SHOW HTML-WEBFORM 
        }
    }
    }
    

1 个答案:

答案 0 :(得分:0)

要检查Cookie,请使用Request.Cookies集合。您可以按名称访问cookie。

请注意,“通过php设置/写入cookie”可能意味着cookie设置在不同的域上 - 在这种情况下,没有任何数量的C#(或任何其他服务器端代码)将能够访问该cookie并且您将需要一些非平凡的客户端代码,可以在其他域上显示cookie信息。

接下来,当您检查cookie时,您可以通过在ASPX页面上动态添加元素或条件代码来有条件地呈现内容。