我是一名php开发人员(我也精通c#),我的任务是将我们的一个页面从php转换为aspx。本网站由2页组成。一个是主要的html页面,另一个是一个php文件,它有一个javascript函数,可以创建我们的菜单。
从主页我可以说
<script type="text/javascript" src="menu.php"></script>
并在menu.php中我有我的javascript / php
<?
//php function
function doPHPstuff() { return "Hello World"; }
?>
//javascript
function create_menu()
{
var base = '';
document.write('<table cellpadding="0" cellspaceing="0" border="0" style="width:98%"><tr>' +
//php code within the javascript
alert('<?=doPHPsutff()?>');
}
我已将“php stuff”重写为aspx代码(c#),但我现在肯定如何调用它?有没有一种简单的方法可以像在php中那样做?
答案 0 :(得分:1)
如果我正确理解了您的问题,则使用<%= %>
代替<?= ?>
。
答案 1 :(得分:0)
这取决于代码的作用以及运行的时间。请提供更多相关信息。但基本上是:
1-您可以致电__doPostBack
来检索值
2-您可以将代码打印到aspx页面,就像在php alert("<%= myCodeBehindMethod(); %>");
中一样(非推荐做法)
3-您可以将其设置为Web服务并使用正常的ajax请求进行调用
4-或者您可以向脚本管理员注册:
protected myMethod()
{
string myVariable = "hello";
ScriptManager.RegisterStartUpScript(page,page.getType(),"name","alert("+ myVariable +");")
}
编辑回复评论
您不能将aspx称为javascript文件。但是,您可以在asp中调用函数,引用js中的函数。例如:
script.js:
function myFun(param)
{
alert(param);
}
page.aspx.cs:
protected string myMethod()
{
return "Hello World!";
}
page.aspx:
<script type="text/javascript" scr="script.js"></script>
<script type="text/javascript">
myFun(<%=myMethod() %>); //will alert Hello World!
</script>