【问题标题】:Is it possible to use c# variable in css是否可以在 css 中使用 c# 变量
【发布时间】:2023-03-26 14:34:01
【问题描述】:

有没有办法在 CSS 样式中使用会话变量,例如动态设置宽度百分比。

    width:<%Convert.ToString(Session["DaysAvailable"]);%>%;

【问题讨论】:

  • 如果样式嵌入在 HTML 中,当然可以。如果是单独的 .css 文件,则没有。
  • 如果这类事情对您的项目很重要,您可能需要查看LESSSASS

标签: c# css asp.net


【解决方案1】:

是的,正如@JB11 所证实的那样。这是一个工作示例。

  1. PageLoad() 上的 div 宽度设置为 25%。
  2. 在按钮 Click() 事件上设置为 75%。

SessionCSS.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SessionCSS.aspx.cs" Inherits="SessionCSS" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>    
    <style>
        .my-class{
            background-color: green;
            color: white;
            width: <%= Session["DaysAvailable"].ToString() %>%;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">    

        <div class="my-class">
            Days available
        </div>
        <br/>
        <asp:Button ID="btnUpdateDays" runat="server" Text="Update days" OnClick="btnUpdateDays_Click" />
    </form>
</body>
</html>

SessionCSS.cs(代码隐藏)

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

public partial class SessionCSS : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if( !Page.IsPostBack)
        {
            Session["DaysAvailable"] = 25;
        }
    }

    protected void btnUpdateDays_Click(object sender, EventArgs e)
    {
        Session["DaysAvailable"] = 75;
    }
}

结果:

注意:仅当 CSS 直接在页面标记内而不是在外部样式表中时,此功能才有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 2019-05-27
    • 2016-06-13
    • 2013-07-30
    • 2011-04-30
    • 1970-01-01
    • 2021-11-23
    • 2018-08-01
    相关资源
    最近更新 更多