如何能让asp调用aspx
答案:3 悬赏:40
解决时间 2021-01-28 00:39
- 提问者网友:太高姿态
- 2021-01-27 19:19
如何能让asp调用aspx
最佳答案
- 二级知识专家网友:傲气稳了全场
- 2021-01-27 20:49
检查IIS设置:
请先检查服务器是否安装了dotnetfrk2.0或者以上版本;
然后检查网站属性设置最后一个选项“Asp.Net”有没有选择正确的版本;
另外个人建议使用VS2005新建一个项目(类型选择website),将你的asp页面以及aspx页面都添加到该项目中,右键选择该项目有一个网站发布的功能,设置对应IIS站点就OK了。
请先检查服务器是否安装了dotnetfrk2.0或者以上版本;
然后检查网站属性设置最后一个选项“Asp.Net”有没有选择正确的版本;
另外个人建议使用VS2005新建一个项目(类型选择website),将你的asp页面以及aspx页面都添加到该项目中,右键选择该项目有一个网站发布的功能,设置对应IIS站点就OK了。
全部回答
- 1楼网友:过活
- 2021-01-27 23:02
的一个Web Service,而在实际项目开发中,特别是在对现有的项目转换中,把页面中的逻辑再提取到专门的Web Service中往往会带来相当多的工作。Atlas充分考虑到了这一点,允许您将服务器端的public方法加上[WebMethod]属性以允许客户端JavaScript的直接调用。
想允许客户端直接调用定义在ASPX页面中的方法,您需要指定该方法为public,并且添加[WebMethod]属性,例如如下定义在ASPX文件中的服务器端方法:
<script runat="server">
[WebMethod]
public int AddInt(int int1, int int2)
{
return int1 + int2;
}
</script>
在客户端,Atlas将为您Mashup出一个AddInt的JavaScript方法,存在于一个特殊的命名空间PageMethods中,这样您就可以通过PageMethods.AddInt()调用上面的方法了。
同时,将WebMethod定义到ASPX页面中,您还可以在该方法中访问一切页面上的服务器端控件的值和ViewState,并且整个页面的的生存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等方法均会被调用,可以让我们对页面有更强的访问能力。不过这样也带来了性能上的折扣,因为每次调用Web Method的时候都会把页面上的ViewState和控件的值传回给服务器,并且服务器端处理整个页面的生存周期将要比仅仅处理一个纯粹的定义在ASMX中的Web Method要复杂的多。所以这里我推荐尽可能的使用纯粹的Web Service,请参考:在Atlas服务器端实现中推荐使用Web Service而不是Page Method。
下面来看一个实例,首先来定义在ASPX中的WebMethod,可以看到这里不单单求两个数的和,还访问了一个页面上的服务器端TextBox的值:
<script runat="server">
[WebMethod]
public string AddInt(int int1, int int2)
{
return (int1 + int2).ToString() + string.Format("\r\nAnd the Server TextBox's Text is '{0}'.", tbServer.Text);
}
</script>
然后是页面的ScriptManager,这里无需添加任何引用了: <atlas:ScriptManager ID="scriptManager" runat="server" />
然后两个用来输入加数的input以及用来触发服务器调用的input:
<input id="value1" type="text" value="1" />
<input id="value2" type="text" value="2" />
<input id="btnAdd" type="button" value="Add!" onclick="return btnAdd_onclick()" />
还有一个服务器端TextBox:
<asp:TextBox ID="tbServer" runat="server" Text="Server control"></asp:TextBox>
最后是JavaScript调用,注意PageMethods这个内建的命名空间:
function btnAdd_onclick() {
PageMethods.AddInt(
$('value1').value,
$('value2').value,
OnComplete
);
}
function OnComplete(result)
{
alert(result);
}
浏览器中运行,输入两个加数,然后在Server端的TextBox中输入一些字符,点击Add,可以看到Server端的TextBox的值却是被访问到了:
这是Fiddler截获的网络传输,可以看到ViewState和TextBox都被传回了Server:
想允许客户端直接调用定义在ASPX页面中的方法,您需要指定该方法为public,并且添加[WebMethod]属性,例如如下定义在ASPX文件中的服务器端方法:
<script runat="server">
[WebMethod]
public int AddInt(int int1, int int2)
{
return int1 + int2;
}
</script>
在客户端,Atlas将为您Mashup出一个AddInt的JavaScript方法,存在于一个特殊的命名空间PageMethods中,这样您就可以通过PageMethods.AddInt()调用上面的方法了。
同时,将WebMethod定义到ASPX页面中,您还可以在该方法中访问一切页面上的服务器端控件的值和ViewState,并且整个页面的的生存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等方法均会被调用,可以让我们对页面有更强的访问能力。不过这样也带来了性能上的折扣,因为每次调用Web Method的时候都会把页面上的ViewState和控件的值传回给服务器,并且服务器端处理整个页面的生存周期将要比仅仅处理一个纯粹的定义在ASMX中的Web Method要复杂的多。所以这里我推荐尽可能的使用纯粹的Web Service,请参考:在Atlas服务器端实现中推荐使用Web Service而不是Page Method。
下面来看一个实例,首先来定义在ASPX中的WebMethod,可以看到这里不单单求两个数的和,还访问了一个页面上的服务器端TextBox的值:
<script runat="server">
[WebMethod]
public string AddInt(int int1, int int2)
{
return (int1 + int2).ToString() + string.Format("\r\nAnd the Server TextBox's Text is '{0}'.", tbServer.Text);
}
</script>
然后是页面的ScriptManager,这里无需添加任何引用了: <atlas:ScriptManager ID="scriptManager" runat="server" />
然后两个用来输入加数的input以及用来触发服务器调用的input:
<input id="value1" type="text" value="1" />
<input id="value2" type="text" value="2" />
<input id="btnAdd" type="button" value="Add!" onclick="return btnAdd_onclick()" />
还有一个服务器端TextBox:
<asp:TextBox ID="tbServer" runat="server" Text="Server control"></asp:TextBox>
最后是JavaScript调用,注意PageMethods这个内建的命名空间:
function btnAdd_onclick() {
PageMethods.AddInt(
$('value1').value,
$('value2').value,
OnComplete
);
}
function OnComplete(result)
{
alert(result);
}
浏览器中运行,输入两个加数,然后在Server端的TextBox中输入一些字符,点击Add,可以看到Server端的TextBox的值却是被访问到了:
这是Fiddler截获的网络传输,可以看到ViewState和TextBox都被传回了Server:
- 2楼网友:鸽屿
- 2021-01-27 22:00
后缀名为CS的不是页面吧?
aspx网页的后缀名
CS结尾的文件就像是类一样
里面是用C#一类的语言写的
要先传到服务器转换成html语言在呈现出来的
其实我没看懂你问的啥。。。。
上面是照我的理解说的
aspx网页的后缀名
CS结尾的文件就像是类一样
里面是用C#一类的语言写的
要先传到服务器转换成html语言在呈现出来的
其实我没看懂你问的啥。。。。
上面是照我的理解说的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯