目前我在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文件到达函数的原因,因为我需要文本包含两个不同的选项。
答案 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>