ASP.NET 在 Render() 之前执行函数
最后我找到了一些关于如何从 aspx 页面调用函数的解决方案,因为我需要制作动态 url。
我在 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() 函数之前运行......
有什么建议吗?
Finally i found some solution about how to call function from aspx page, couze i needed to make dynamic urls.
Im searching on Google for several weeks, but i didnt found how to make dynamic routing depend of current locale like:
site.com/en/home - when CurrentCulture is en-EN and
site.com/fr/home - When CurrentCulture is fr-FR.
I found one solution where i call function from aspx, to check CurrentCulture and print a string.
<%@ 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>
and on same aspx page i have
<a href="<% Demo(); %>/default.aspx">CLICK</a>
But now i have problem with my "Move JavaScript at bottom of page, after form tag" Class. On debug mode, i noticed that
protected override void Render(HtmlTextWriter writer)
where my class is, runs before Demo() function....
ANY suggestion ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要在函数中直接调用 Response.Write,而是让它返回一个字符串并在需要的地方输出。
如果您只需要调用该函数,则可以丢弃结果。您可以从重写的 Render 函数中调用该函数:函数
:
标记:
Instead of directly calling
Response.Write
in your function, have it return a string and out put that where needed.If you simply need to call the function, you can discard the result. You can the call the function from the overridden
Render
function:Functions:
Markup: