高手们:
我的网页 Defualt.aspx 和 Defualt.cs文件
Defualt.aspx 页面上有一个脚本函数 <script language="javascript">
function GetAndWriteData()
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("../P0020/ChoiceManage.aspx");
var xmlStr=xmlDoc.xml;
}
</script>这个函数是接收别的页传值的
我现在 想调用 传过来的 xmlStr 这个变量到 Defualt.cs页面上
请问如何实现。
我的网页 Defualt.aspx 和 Defualt.cs文件
Defualt.aspx 页面上有一个脚本函数 <script language="javascript">
function GetAndWriteData()
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("../P0020/ChoiceManage.aspx");
var xmlStr=xmlDoc.xml;
}
</script>这个函数是接收别的页传值的
我现在 想调用 传过来的 xmlStr 这个变量到 Defualt.cs页面上
请问如何实现。
Request["参数名"]得到的类型是object的
把xmlStr赋值到里面:
document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
把值赋到 Hidden1的哪里了?
我在CS里取啥啊?
是写在我的javascript里不?
我写了后就出错
推荐使用atlas,毕竟是MS的东西,虽然目前有不少小bug,不过注意点就没问题了.PS:如果使用atlas,那么你的那句js代码可能就不用了,转而使用webservice实现.
据我所知,javascript不能直接访问客户端的文件的,更何况aspx文件还是服务器端文件。
疑问:xmlDoc.load("../P0020/ChoiceManage.aspx");这样能获得内容么?
据我所知,javascript不能直接访问客户端的文件的,更何况aspx文件还是服务器端文件。
----------------------------它所访问的是模拟用户对页面访问时,页面的输出比如
Message.aspx中你代码如下
Response.Write("<root>test</root>");
那么在其它页面中 xmldoc.load("Message.aspx") 实际上加载了 <root>test</root>这个文档。
<iframe src="message.aspx" />这个你能理解,那么那个load你也应该能理解,只不过iframe是显式的,而 load或loadXML 是在js执行时页面之间建立了一个连接产生个进程来触发所load的页面的执行。二者本质一样
function GetAndWriteData()
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("../P0020/ChoiceManage.aspx");
var xmlStr=xmlDoc.xml;
}
这里在default.aspx的客户端脚本变量中已利用ajax从 choiceManage.aspx获取了所需的数据,你要做的仅仅是如何将它输出在页面上,这很简单,就是对xmldom的操作,再利用dhtml对象将数据显示。
我写给你的例子是 用了一个div
div1.innerHTML=xmlStr;
你如果要进一步控制显示格式,可以用两种方法:
1:用dom对象将数据循环取出循环写入div,或table
比如
var root=xmlDoc.selectNodes("//root/...") //xsl查询语法,如果是全文档,不需要过滤那么可以不用这样写,具体你要怎么做请参照xmlsdk我不多说了.
var htmlStr="";
for(i=0;i<root.length;i++)
{
htmlStr=htmlStr + "<td>" + root.item(0).text + "</td>";
//...格式怎么写依具你的XMLSTR文档格式及你要的输出
}
div1.innerHTML=htmlStr; //即可循环将数据按特定格式显示2:针对xmlStr字串的xml文档格式,预写一个xsl文件,然后利用xmldom的 transformNode方法将xmlstr利用xsl格式化输出比如:
xmlDoc.load("....Message.aspx");
var xslDoc=new .....; //跟 xmlDoc的声明一样
xslDoc.load("xsl文件路径");
div1.innerHTML=xmlDoc.transformNode(xslDoc); //即可按xsl格式化输出xmlstr在页面
把xmlStr赋值到里面:
document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
正确,顶一下
this.ClientScript.RegisterStartupScript(typeof(Page), "", "<script>GetData()</script>");
aspx中:function GetData()
{
document.getElementById("hidData").value = window.dialogArguments;
__doPostBack("hidData", "");
}
把xmlStr赋值到里面:
document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
各位有没有想过?
接点分