如何通过在aspx文件中调用它来使用cs文件中编写的函数

时间:2014-05-13 10:48:59

标签: c# asp.net return

目前我在Visual Studio asp.net中有以下代码。看起来我正在创建一个新函数,而我想使用aspx.cs文件中编写的函数。颜色不按我的意图工作,但我会回过头来看。

看起来像这样:

 //<script type="text/javascript" src='<%= Active_Frozen(string text, string color) %>'></script>


<head>
    <script type="text/javascript">
        function Active_Frozen(text,color) 
        {
            document.write(text,color);
        }
    </script>
</head>

<body>
    <script type="text/javascript">
        Active_Frozen(text,color);
    </script>
</body>

public Tuple<string,string> Active_Frozen(string text, string color) {
    connection();
    string query = "SELECT CustomerInfo FROM ActiveSubscription WHERE UserName=@UserName";
    SqlCommand cmd = new SqlCommand(query, conn);

    if(query=="true")
    {
        text = "Active";
        color = "Green";
    }
    else
    {
        text = "Frozen";
        color= "Red";
    }

    return Tuple.Create(text, color);
}
编辑:我在我的aspx.cs文件中有代码的原因是因为HTML不支持字符串,因此为什么需要使用服务器代码。这就是我需要从aspx文件到达函数的原因,因为我需要文本包含两个不同的选项。

3 个答案:

答案 0 :(得分:0)

不是这样,但是你可以在你的aspx页面中使用那个特定的函数,如果你把它的实现放在这里(在aspx页面上)。您甚至可以拥有 aspx 文件中的所有代码。 (单个文件页面的种类)。你其实想要实现Embedded Code Blocks in ASP.NET Web Pages。这是一个例子:

<%@ Page Language="C#" %>
<script runat=server>
protected String GetTime()
{
    return DateTime.Now.ToString("t");
}
</script>
<html>
  <body>
  <form id="form1" runat="server">
   'Current server time is' <% =GetTime()%>.
  </form>
  </body>
</html>

但一般来说,使用嵌入式代码块进行复杂的编程逻辑并不是最佳实践,因为当代码在页面上与标记混合时,可能很难进行调试和维护。此外,由于代码仅在页面的呈现阶段执行,因此在将代码范围限定到适当的页面处理阶段时,与使用代码隐藏或脚本块代码相比,您的灵活性要小得多。

答案 1 :(得分:0)

如果您想从 aspx 调用代码函数,则该类为public函数为{{1只要您在public static指令中导入了命名空间。

答案 2 :(得分:0)

用于调用服务器端方法的用户服务器标记:

<body>

   <% Active_Frozen(text,color); %>
</body>