最后我找到了一些关于如何从aspx页面调用函数的解决方案,我需要制作动态网址。
我在Google上搜索了几个星期,但我没有找到如何根据当前语言环境制作动态路由,如:
site.com/en/home - when CurrentCulture is en-EN and
site.com/fr/home - When CurrentCulture is fr-FR.
我找到了一个解决方案,我从aspx调用函数,检查CurrentCulture并打印一个字符串。
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Threading" %>
<script runat="server">
void Demo() {
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
string ime = currentCulture.ToString();
Response.Write(ime);
}</script>
在同一个aspx页面上我有
<a href="<% Demo(); %>/default.aspx">CLICK</a>
但是现在我的问题在于“在页面底部移动JavaScript,在表单标记之后”类。在调试模式下,我注意到了
protected override void Render(HtmlTextWriter writer)
我的班级,在Demo()函数之前运行....
有什么建议吗?
答案 0 :(得分:0)
不要直接调用函数中的Response.Write
,而是让它返回一个字符串并将其放在需要的位置。
如果您只需要调用该功能,则可以放弃该结果。您可以从被覆盖的Render
函数调用该函数:
功能:
public string Demo() {
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
string ime = currentCulture.ToString();
return ime;
}
protected override void Render(HtmlTextWriter writer)
{
Demo();
// rest of code
}
标记:
// .NET 4.0
<a href="<%: Demo() %>/default.aspx">CLICK</a>
// .NET < 4.0
<a href="<%= Demo() %>/default.aspx">CLICK</a>