读书人

AJAX的OPEN方法的URL参数要如何写

发布时间: 2013-01-19 11:41:36 作者: rapoo

AJAX的OPEN方法的URL参数要怎么写
本帖最后由 chirea 于 2012-10-02 15:59:32 编辑


/*说明文件*/
--news.aspx前台文件
--news.aspx.cs后台C#文件
--new.js就是这个AJAX文件


news.aspx文件

<script src="Scripts/new.js" type="text/javascript"></script>
<!--网页左侧-->
<asp:Repeater ID="RepMenus" runat="server">
<ItemTemplate>
<li><span>

<a href="#" id="MeusID" mid="<%#Eval("ID"%>" onclick="meusid()"><%#Eval("Name") %></a>
</span></li>

</ItemTemplate>
</asp:Repeater>
<!--网页右侧-->
<div class="guanyu-con">

<ul class="ul2">

<asp:Repeater ID="repNewContents" runat="server">
<ItemTemplate>
<li><a href="#"><%#Eval("Title") %></a><span><%# Convert.ToDateTime(Eval("AddDate")).ToString("yyyy-MM-dd")%></span></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>


news.aspx.cs

public void Content(string Nid)
{
this.repNewContents.DataSource = null;
repNewContents.DataSource = Business.B_News.getNewsData(Nid);
repNewContents.DataBind();

}


new.js文件

$(function meusid() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {

}
xhr.open("POST", "这里不知如何写指定news.aspx.cs里面的Content方法,ID是前台的MID", true);

})

[解决办法]
js函数写法有错,修改HTML结构直接传递mid变量
<script src="Scripts/new.js" type="text/javascript"></script>
<!--网页左侧-->
<asp:Repeater ID="RepMenus" runat="server">
<ItemTemplate>
<li><span>

<a href="#" id="MeusID" onclick="meusid('<%#Eval("ID"%>')"><%#Eval("Name") %></a><!----------->
</span></li>

</ItemTemplate>
</asp:Repeater>
<!--网页右侧-->
<div class="guanyu-con">

<ul class="ul2">

<asp:Repeater ID="repNewContents" runat="server">


<ItemTemplate>
<li><a href="#"><%#Eval("Title") %></a><span><%# Convert.ToDateTime(Eval("AddDate")).ToString("yyyy-MM-dd")%></span></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>



function meusid(mid) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {

}
xhr.open("POST", "news.aspx?ajax=1&mid="+mid, true);////////加特别的参数以区分是普通访问或者是ajax访问


}


public void Page_Load(object sender ,EventArgs e){
if(Request.QueryString["ajax"]=="1")Content(Request.QueryString["mid"]);//ajax请求则调用

}
public void Content(string Nid)
{
//不是使用微软的ajax框架无法使用下面这种代码,只能自己组合成字符串用Response.Write输出给客户端使用,客户端根据内容自己生成DOM结构
//用微软的自己研究微软的用法
/*
this.repNewContents.DataSource = null;
repNewContents.DataSource = Business.B_News.getNewsData(Nid);
repNewContents.DataBind();*/
Response.End();////////防止输出其他内容

}

[解决办法]
"news.aspx?ajax=1&mid="+mid
是的,是这种写法。
[解决办法]
每日学习一种
[解决办法]
post方式的时候不是还要设置

xmlReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

读书人网 >Ajax

热点推荐